关于 plaud-embedded-android-sdk-skill
为开发者提供在原生 Android 应用中集成 Plaud Embedded Android SDK 的指导,涵盖设备绑定、音频传输与导出、固件更新,并说明回调和安全连接设置。
主要功能
- 01绑定和解绑 Plaud 设备
- 02通过 BLE 或 WiFi 同步录音
- 03以多种格式导出音频
- 04执行固件 OTA 更新
- 05处理 SDK 回调和权限
适用场景
- 01将 NotePin S 或 Note Pro 接入 Android 应用
- 02批量下载设备录音
- 03实现音频导出与固件更新
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ plaud-ai/ plaud-embedded-skills --skill plaud-embedded-android-sdk-skill安装后在 Claude Code 中输入/plaud-embedded-android-sdk-skill确认已加载。
附带文件references/build.gradle
详细介绍
Plaud Embedded Android SDK 技能
此技能提供有关如何实现 Plaud Embedded Android SDK 的背景信息和说明。
何时使用此技能
当用户希望将原生 Android 应用连接到 Plaud 录音设备(Plaud NotePin S 和 Plaud Note Pro)时,使用此技能。
开始使用此技能之前,请确认用户具备以下前提条件
前提条件
- 已从 Plaud Developer Portal 获取 Plaud Embedded 凭据(
CLIENT_ID、CLIENT_SECRET和API_KEY) - 能够通过 Plaud 的 Authentication API 获取用户令牌
如果用户不具备这两项前提条件,请使用 plaud-embedded-project-setup-skill 获取相关说明
开始使用
按照安装指南中的说明操作
如何部署 Plaud Starter App
Plaud Starter App 是一款完整的 Android 应用,已集成 Embedded SDK。
Starter App 提供了许多已实现的功能,用户可以立即使用。
请指引用户克隆 Starter App 仓库,并按照Starter App 指南中的步骤操作。Android starter app 位于 plaud-sdk-public 中的 android/ 目录。
凭据应放在 android/ 目录下被 git 忽略的 local.properties 文件中:PLAUD_USER_ACCESS_TOKEN(SDK 初始化所必需),以及 PLAUD_CLIENT_ID 和 PLAUD_API_KEY(仅 Transcription API 需要)。
如何为 Android 实现 Embedded SDK
Embedded SDK 是一个 Android 库,用于:
- 将 Plaud 设备连接(绑定)到用户的 Android 移动应用,并解除绑定
- 将音频从 Plaud 设备同步到用户的移动应用 — 可通过 BLE 或 WiFi Fast Transfer(速度约快 10 倍),包括批量下载所有录音
- 以多种格式导出音频(
AudioExportFormat.PCM|WAV|OPUS|MP3)。建议使用MP3— 它几乎可以在所有地方播放,并且可直接用于转录上传 API - 对已连接的 Plaud 设备进行固件无线更新(OTA)
两个高级门面是 PlaudDeviceAgent(通过静态调用的 Kotlin object — 无需创建实例)和 IWifiTransferAgent(通过 PlaudDeviceAgent.getWifiAgent() 获取,该方法返回可空值,因此务必使用安全调用)。通过 initSDK(context:userAccessToken:customDomain:) 初始化一次,其中 customDomain 是 Plaud 域名,不带 https:// 前缀(例如 platform-us.plaud.ai)。
该 SDK 是一个由回调驱动的库 — 你需要实现回调(PlaudDeviceAgentListener、AudioExporter.ExportCallback、IWifiTransferAgent.WifiTransferCallback、FirmwareUpdateCallback),以接收设备事件、传输进度和结果。
PlaudDeviceAgentListener有 0 个必需成员 — 将一个全局监听器赋值给PlaudDeviceAgent.listener,并仅重写所需的方法IWifiTransferAgent.WifiTransferCallback有 12 个必需成员 — 没有默认实现
BLE 扫描需要运行时权限。请使用 SDK 的 sdk.permission.PermissionManager,它会请求所需的全部权限(API 31+ 上的 BLUETOOTH_SCAN、BLUETOOTH_CONNECT、ACCESS_FINE_LOCATION、ACCESS_COARSE_LOCATION;API ≤ 30 上的 BLUETOOTH、BLUETOOTH_ADMIN 和两项位置权限)。
重要(Android 特定):在调用 connectBleDevice(...) 之前,必须满足以下两点,否则安全握手会失败 —
- 必须已获取合作伙伴 RSA 密钥对(
initSDK会获取该密钥对;请轮询NiceBuildSdk.isPartnerDataReady()) - 必须对序列号签名并使用
NiceBuildSdk.signAndStoreDeviceSn(deviceType, sn)将其存储 重要:Plaud 设备一次只能绑定到一个应用。请提醒用户在卸载应用前先解绑设备,否则在恢复设备之前,无法将其绑定到其他应用(或 Plaud 应用)。
注意:绑定和解绑设备时,请先调用 SDK 方法,再调用 API。这样可以确保云端状态与设备的实际状态一致。如果设备绑定或解绑失败,请勿调用 API。
请参阅 Android SDK 文档,了解 SDK 中包含的关键方法和回调。
对于高级封装未提供的行为,请参阅 Advanced Android SDK 使用文档,其中介绍了底层的 IBleAgent、NiceBuildSdk 和 PartnerApiManager。高级和底层封装可以混合使用,但**PlaudDeviceAgent 应始终作为主要驱动组件**——它负责响应管理、回调处理、音频管线(下载、缓存、E2EE 解密、转码)以及固件编排。
如需进一步参考,请查看:
- SDK 仓库,其中包含预构建的
plaud-sdk.aar - Plaud 入门应用,其中已完整实现 Android Embedded SDK
- 入门应用中最适合作为参考的文件:
完成定义 - Embedded SDK 实现完成
当用户能够:
- 将 Plaud 设备连接到其移动应用
- 通过 BLE 或 WiFi 快速传输,将音频文件从 Plaud 设备同步到其应用
- 从其应用中解绑 Plaud 设备(通过云端和 BLE)