跳到正文
起步应用与指南

React Native 接入

通过内测桥模块在 React Native 里复用 Embedded SDK 的设备能力:扫描、绑定、同步。

开发者平台处于内测阶段,接口契约以联调时提供的正式文档为准。账号由对接工程师开通,详见联系我们

React Native 团队可以通过桥模块(内测)复用 Embedded 的 iOS 能力,而不必用原生写整套设备逻辑。桥模块底层仍是 iOS SDK,通过原生模块把方法与事件暴露到 JS 层。

安装

桥模块以内测形式随开通邮件发放,拷贝进你的项目 modules/ 目录即可被自动识别。

bash
# 桥模块地址随开通邮件发放
git clone https://<你的内测 Git 地址>/ikho-embedded-react-native.git

# 拷贝模块到你的 RN 工程
cp -R ikho-embedded-react-native/modules/ikho-embedded your-app/modules/ikho-embedded

原生模块链接

app.json 声明蓝牙与麦克风权限,然后执行 prebuild 让原生模块生效。

app.json
{
  "expo": {
    "ios": {
      "infoPlist": {
        "NSBluetoothAlwaysUsageDescription": "用于连接 iKho 录音卡并同步录音",
        "NSMicrophoneUsageDescription": "用于在应用内录制与试听音频",
        "UIBackgroundModes": ["bluetooth-central"]
      }
    }
  }
}
bash
npx expo prebuild -p ios
npx expo run:ios --device   # 需真机 iPhone

TS 侧 API 形态

ts
import { IKhoEmbedded } from class="tk-str">'ikho-embedded';

await IKhoEmbedded.configure({ userToken });

const subs = [
  IKhoEmbedded.onScanResult(({ devices }) => { /* 展示设备 */ }),
  IKhoEmbedded.onProgress(({ recordingId, progress }) => { /* 同步进度 */ }),
];

await IKhoEmbedded.scanDevices();
await IKhoEmbedded.bindDevice({ serialNumber });
const { files } = await IKhoEmbedded.syncRecordings();

subs.forEach((s) => s.remove());

与纯原生的能力差异

桥模块覆盖最常用的设备能力;更进阶的用法(如 Wi-Fi 快传的完整控制)建议扩展桥模块或直接用原生 iOS SDK。

能力纯原生 iOS SDKReact Native 桥(内测)
扫描与绑定支持支持
BLE 同步支持支持
设备状态与电量支持支持
Wi-Fi 快传支持需扩展桥方法
后台续传支持需额外配置

完整方法与回调以 iOS SDK 参考为准;桥模块只是它的 JS 封装。