メインコンテンツまでスキップ

All-in-One 統合

AIBudsSDK/AllInOne は、SDK 一式を利用する製品向けの統合方法です。1 つの依存関係で、Core のデバイス対応、ABMate 接続、FitCloud Pro と Jieli の OTA プラグイン、ロギング、AI サービスプロバイダーとダッシュボード、オンデバイス音声アシスタント認証、クラッシュレポート、ライブ配信ミドルウェア、音声関連の依存関係、動画の手ぶれ補正が導入されます。

インストールと初期化のコードは、インストールクイックスタートを参照してください。このページでは、この統合方法を選んだ場合のアーキテクチャ上の影響を説明します。

Animated workflow

SDK 一式の統合初期化

All-in-One が同梱実装を選択し、Core、AI の順に初期化してから、共有オーディオセッションの連携を開始します。

All-in-One

ロギングを設定

同梱の XLFacility ログ出力先を接続します。

All-in-One

認証ブリッジを登録

StarBurst、MLTCloud、オンデバイス音声アシスタントのブリッジをインストールします。

All-in-One

手ぶれ補正を登録

任意で利用できる組み込みの動画後処理プラグインをインストールします。

All-in-One

OTA プラグインを登録

デバイス検出前に同梱の FitCloud Pro と Jieli のプロトコル実装をインストールします。

AIBuds Core

Core を初期化

ABMate、設定、デリゲートを指定して AIBudsSDK を初期化します。

AIBuds AI

AI を初期化

同梱の StarBurst と MLTCloud のプロバイダー SDK を登録します。

AIBuds Audio

オーディオ連携を開始

両方の初期化が成功した後、共有 AudioSessionCenter を開始します。

ホストアプリ

SDK 一式の準備完了

各機能のオーナーが機能固有の処理を開始できる状態になります。

SDK 一式の初期化後も、Crash Reporter のインストールと AI Dashboard の起動は、製品側で明示的に判断します。

初期化によって設定される内容

AIBudsAllInOneSDK.initialize は Core に処理を渡すだけでなく、次の設定をまとめて行います。

  1. XLFacility ロギングプラグインを設定します。
  2. StarBurst と MLTCloud のデバイス認証ブリッジを登録します。
  3. オンデバイス音声アシスタントの認証ブリッジを登録します。
  4. 組み込みの動画手ぶれ補正プラグインを登録します。
  5. 同梱の FitCloud Pro と Jieli の OTA プロトコルプラグインを登録します。
  6. AIBudsSDK を、ABMateSDK と指定された Core の設定/デリゲートで初期化します。
  7. 同梱の StarBurst と MLTCloud のプロバイダー実装を使って AIBudsAISDK を初期化します。
  8. 初期化の成功後、共有オーディオセッションコーディネーターを開始します。

Crash Reporter のインストールと AI Dashboard の起動は、引き続き明示的な操作が必要です。モジュールには含まれますが、initialize だけでは自動的に有効になりません。

All-in-One が適している場合

  • 製品で SDK の機能群の大部分を利用する予定がある。
  • バイナリサイズの細かな制御より、迅速な導入と統一された既定プラグイン構成を重視する。
  • 同梱の AI サービスプロバイダーと組み込みの手ぶれ補正実装が製品方針に合っている。
  • アプリケーションレベルの 1 つのオーナーが、グローバルなロギングとオーディオセッション設定を管理できる。

モジュール別統合が適している場合

  • 必要なデバイス機能が一部だけである。
  • アプリが独自の AI スタックまたは任意のメディア処理を提供する。
  • バイナリサイズ、サードパーティの推移的依存関係、起動時の副作用を厳密に管理する必要がある。
  • アプリがすでに独自の高度なオーディオセッション方針を持っている。
  • セキュリティ方針により、対象から診断サーバーまたはクラッシュ収集を除外する必要がある。

二重初期化を避ける

All-in-One の初期化に成功した後は、AIBudsSDKAIBudsAISDK を個別に初期化せず、All-in-One が選択済みのプラグインに別の実装を登録しないでください。機能コードでは別のグローバルオーナーを作らず、初期化済みの SDK 一式を使用します。

初期化が false を返した場合は、機能の起動に進まないでください。ログを確認し、失敗した Core または AI の段階を修正します。公開されている戻り値だけでは、失敗した依存関係を特定できません。

任意コンポーネントには個別の方針が必要

  • レポート収集への同意、保存期間、アップロード方法を定義してから、Crash Reporter を起動初期にインストールします。
  • AI Dashboard は、管理された診断用ビルドとネットワークでのみ起動します。
  • ライブ配信は、アプリがプレーヤー/ストリーマーのクリーンアップを管理できる場合にのみ使用します。
  • プラグインが事前登録されていても、手ぶれ補正の元ファイルへのフォールバックと保存方針を維持します。

導入チェックリスト

  • 製品として All-in-One のすべての依存関係を採用することを確認した。
  • アプリケーションレベルのオーナーから 1 回だけ初期化している。
  • 初期化前に Core の設定とデリゲートを確定している。
  • オーディオセッションの動作がホストアプリと整合している。
  • Crash Reporter と AI Dashboard を個別の製品方針で制御している。
  • Core、AI、プラグインを重複して初期化していない。
  • 将来モジュール別統合へ切り替える場合の担当者と回帰テスト計画がある。