plaud-embedded-android-sdk-skill について
ネイティブ Android アプリに Plaud Embedded Android SDK を組み込む開発者向けのガイドスキルです。デバイスのバインド、音声転送と書き出し、ファームウェア更新に加え、コールバックや安全な接続設定を解説します。
主な機能
- 01Plaud デバイスのバインドと解除
- 02BLE または WiFi による録音同期
- 03複数形式での音声書き出し
- 04ファームウェア OTA 更新
- 05SDK コールバックと権限の処理
活用シーン
- 01NotePin 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 を通じて User Token を取得する方法がある
ユーザーがこれらの前提条件を両方とも満たしていない場合は、手順について plaud-embedded-project-setup-skill を使用してください。
はじめに
インストールガイドの手順に従ってください。
Plaud Starter App のデプロイ方法
Plaud Starter App は、Embedded SDK がすでに実装された、完成済みの Android アプリです。
Starter App には、ユーザーがすぐに利用できる多数の機能が備わっています。
ユーザーに Starter App リポジトリをクローンして、Starter App ガイドの手順を進めるよう案内してください。Android スターターアプリは、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 モバイルアプリに接続(バインド)および接続解除する
- BLE または WiFi Fast Transfer(約 10 倍高速)を使って、Plaud デバイスからユーザーのモバイルアプリに音声を同期する(すべての録音を一括ダウンロードする機能を含む)
- 複数の形式(
AudioExportFormat.PCM|WAV|OPUS|MP3)で音声を書き出す。MP3を推奨します。どこでも再生でき、文字起こしアップロード API でそのまま使用できます。 - 接続された Plaud デバイスのファームウェアを OTA で更新する
高レベルのファサードは、PlaudDeviceAgent(静的に呼び出す Kotlin の object で、インスタンスの生成は不要です)と IWifiTransferAgent(PlaudDeviceAgent.getWifiAgent() で取得します。戻り値は nullable なので、必ずセーフコールを使用してください)の 2 つです。initSDK(context:userAccessToken:customDomain:) で一度だけ初期化してください。customDomain には Plaud のドメインを指定しますが、https:// のプレフィックスは含めないでください(例:platform-us.plaud.ai)。
この SDK はコールバック駆動型のライブラリです。コールバック(PlaudDeviceAgentListener、AudioExporter.ExportCallback、IWifiTransferAgent.WifiTransferCallback、FirmwareUpdateCallback)を実装して、デバイスのイベント、転送の進捗状況、結果を受け取ります。
PlaudDeviceAgentListenerに必須メンバーは 0 個 です。グローバルリスナーを 1 つ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(...) を呼び出す前に、以下の 2 つを準備してください。準備されていない場合、セキュアハンドシェイクに失敗します。
- パートナー RSA キーペアを取得済みである(
initSDKによって取得されます。NiceBuildSdk.isPartnerDataReady()をポーリングしてください) - シリアル番号が署名され、
NiceBuildSdk.signAndStoreDeviceSn(deviceType, sn)によって保存されている 重要:Plaud デバイスは一度に1 つのアプリケーションにしか紐付けられません。アプリをアンインストールする前に、必ずデバイスの紐付けを解除するようユーザーに伝えてください。解除しない場合、復旧するまで別のアプリ(Plaud アプリを含む)に紐付けられなくなります。
注記:デバイスの紐付けと解除を行う際は、API を呼び出す前に、まず SDK のメソッドを使用してください。これにより、クラウドの状態にデバイスの実際の状態が反映されます。デバイスの紐付けまたは解除に失敗した場合は、API を呼び出さないでください。
SDK に含まれる主要なメソッドとコールバックについては、Android SDK のドキュメントを参照してください。
高レベルのファサードで公開されていない動作については、低レベルの IBleAgent、NiceBuildSdk、PartnerApiManager を取り上げたAndroid SDK の高度な使用方法に関するドキュメントを参照してください。高レベルと低レベルのファサードは組み合わせて使用できますが、PlaudDeviceAgent を主な制御役として使用してください。これは、レスポンス管理、コールバックの接続、オーディオパイプライン(ダウンロード、キャッシュ、E2EE 復号、トランスコード)、ファームウェアのオーケストレーションを処理します。
詳しくは、以下を参照してください。
- ビルド済みの
plaud-sdk.aarを含む SDK リポジトリ - Android Embedded SDK が完全に実装された Plaud Starter App
- Starter App で参考にするのに最も関連性の高いファイル:
完了の定義 - Embedded SDK の実装完了
ユーザーが以下を実行できること:
- Plaud デバイスをモバイルアプリに接続する
- BLE または WiFi 高速転送を使用して、Plaud デバイスからアプリにオーディオファイルを同期する
- アプリから Plaud デバイスの紐付けを解除する(クラウドと BLE の両方で)