用途:把 plaud_sdk 本地 Flutter 插件接入应用并使其能在真机上构建运行。该插件将 Plaud 预编译原生 SDK 桥接为 Dart,暴露 BLE 扫描/连接、设备端录音事件、文件列表和音频导出,统一为静态 PlaudSdk API 与类型化广播流。
主要能力:iOS 与 Android 共用一套 Dart API;Swift 桥(ios/Classes/PlaudSdkPlugin.swift)与 Kotlin 桥(android/src/main/kotlin/ai/plaud/plaud_sdk/PlaudSdkPlugin.kt)实现同一契约——9 个方法、12 个事件,通道名与负载键一致。方法调用发起工作,结果通过 PlaudSdk.on<Event> 流返回,非返回值。
使用方式:1)复制插件到应用 plugins/plaud_sdk;2)在 pubspec.yaml 用 path 依赖并执行 flutter pub get;3)iOS 将部署目标设为 15.1,并在 Info.plist 添加 NSBluetoothAlwaysUsageDescription 与 UIBackgroundModes bluetooth-central,Android 无需配置;4)Dart 侧先判断 isPlaudSdkAvailable,再调用 initSDK(需后端签发的每用户 JWT、customDomain 仅域名、userId),订阅事件流,调用 startScan、connectBleDevice、getFileList、exportAudio,并在 dispose 取消订阅;5)用 flutter analyze、flutter build ios --no-codesign、flutter build apk --debug、flutter run 验证。
限制:仅支持物理设备。iOS 框架为 arm64、iOS 15.1+、仅设备,模拟器链接失败;Android 模拟器无 BLE 无线电,扫描无结果。其他平台 isPlaudSdkAvailable 为 false,调用抛 MissingPluginException,需守卫。token 为约 24 小时短时 JWT,由应用/后端签发,不应打包进客户端。必须先扫描再连接,硬编码 id 会报 ERR_PLAUD_UNKNOWN_DEVICE。exportAudio 返回文件系统路径,可能缺少 file://。更多 API 与令牌细节见插件内 references。