認定資格取得の準備
- テストデバイスを準備します。
- 5 台の Android デバイスが必要です。
- これらのデバイスには、以下が含まれている必要があります。
- Android T(13)と Android V(15)を 1 つずつ以上。
 - Samsung と Google Pixel の少なくとも 1 台ずつ。
 - 例:
- 1 台の OnePlus(Android 10)。
 - 3 つの Samsung(Android 11、12、13)。
 - 1 台の Google Pixel(Android 15)。
 
 
 
 - これらのデバイスには、以下が含まれている必要があります。
 - オーディオ スイッチのないデバイスが 1 台:
- 音声の切り替えが無効になっている iPhone、PC、Bluetooth(BT)対応ノートパソコン、Android スマートフォン。
- Bluetooth デバイスの詳細設定で音声の切り替えをオフにできます。
 
 - マルチポイント(MP)テストケース 2.8 では、5 台のテスト用スマートフォンに加えて、音声切り替えのないデバイスが必要です。
 
 - 音声の切り替えが無効になっている iPhone、PC、Bluetooth(BT)対応ノートパソコン、Android スマートフォン。
 
 - 5 台の Android デバイスが必要です。
 テスト用のスマートフォンにデバッグ通知を表示するには、テスト アカウントで音声切り替えテストグループに参加してください。
- また、Google アナリティクスを通じてテストデータを収集することもできます。
 
A2DP+HFP の従来型
- すべての Android デバイスに GmsCore バージョン 
23.xx.xx以降がインストールされていることを確認します。 
BLE(LE Audio 対応)
- 少なくとも 2 台のリファレンス スマートフォンが LE Audio をサポートしている必要があります。
- たとえば、LE Audio に対応した Samsung 製スマートフォンと Google Pixel を 1 台ずつ使用します。
 
 - すべての Android デバイスに GmsCore バージョン 
24.33.xx以降がインストールされていることを確認します。 
認定基準
- ターゲット切り替えの成功率は、すべてのテストケースで 95% を超える必要があります。
 切り替えを必要とするテストでは、少なくとも 75% のケースで、オーディオ イベントのトリガー後 3 秒以内にプロファイルの接続と切り替えのアクティブ状態が完了する必要があります。
A2DP+HFP の従来型
セルフテストは、次の組み合わせで実施する必要があります。
- スマートフォン A=Android S(12)+ スマートフォン B=Android T(13)
 - スマートフォン A=Android T(13)+ スマートフォン B=Android S(12)
 
BLE(LE Audio 対応)
セルフテストは、次の組み合わせで実施する必要があります。
- スマートフォン A: BT クラシック、スマートフォン B: BT クラシック
 - スマートフォン A: LE Audio、スマートフォン B: BT Classic
 - スマートフォン A: BT Classic、スマートフォン B: LE Audio
 
必要に応じて、デュアル LE Audio 接続をサポートするプロバイダは、以下をテストする必要があります。
- スマートフォン A: LE Audio、スマートフォン B: LE Audio
 
テストガイド
テスト対象デバイス(DUT)の準備
- BT デバイスが、テスト用の Google アカウントにログインしているスマートフォンと以前にペア設定されていないことを確認します。
- デバイスがテスト用の Google アカウントとペア設定されている場合は、次の手順でペア設定を解除します。
- ペア設定済みのデバイスで次の操作を行います。
- Bluetooth の設定に移動します。
 - [デバイスを削除] を選択します。
 - 機内モードをオンにしてオフにします。
 
 
 - ペア設定済みのデバイスで次の操作を行います。
 - [デバイスの自動保存] がオンになっていることを確認します。
- このスイッチはデフォルトでオフになっています。
 - このオプションは、[設定] > [Google] > [デバイス] > [保存済みデバイス](DUT ごとに 1 つ)にあります。
 
 - Bluetooth デバイスをペア設定モードにします。
 - 最初の Bluetooth デバイス(A)をペア設定します。
 - その後の Bluetooth デバイスを他のデバイス(B、C、D など)とペア設定します。
 
 - デバイスがテスト用の Google アカウントとペア設定されている場合は、次の手順でペア設定を解除します。
 
範囲
- すべてのヘッドセットは、BT Classic または BT LE Audio セルフテスト レポートのさまざまなタブからテストを実行します。
 - SinglePoint(SP)モードのみをサポートするヘッドセットは、以下を実行します。
- [Generic_test] タブ。
 
 - MP モードをサポートするヘッドセットは、以下を実行します。
- [Generic_test] タブ。
 - [Multipoint_only] タブ。
 
 - SP モードに切り替えることができる MP ヘッドセットは、次のように動作します。
- MP がオフの [Generic_test] タブ。
 - MP がオンになっている [Generic_test] タブ。
 - MP がオンになっている [Multipoint_only] タブ。
 
 
セルフ レストとセルフテスト レポートの完了
- BT Classic または BT LE Audio の自己診断レポートのコピーを作成します。
 - すべてのテストケースを 2 回以上実行します。
 テストは次の形式で実行する必要があります。
A2DP+HFP の従来型
- デバイス B がメインの DUT になります。
 
- テンプレートの上部にある [スマートフォン] フィールドと [OS] フィールドに、デバイス B の詳細を入力します。
 
テストケースの例:
テスト用スマートフォン:
- デバイス 1: Samsung(Android 13)
 - デバイス 2: Google Pixel(Android 12 または 13)など。
 実行されたテスト:
- 1 回実行します。デバイス A=Samsung S10+(12)、デバイス B=Google Pixel 7 Pro(13) 列 D: スマートフォン=Google Pixel 7 Pro、OS=Android 13
 - 2 回実行します。デバイス A=Google Pixel 7 Pro(13)、デバイス B=Google Pixel 6(12) 列 E: スマートフォン=Google Pixel 6、OS=Android 12
 
セルフテスト テンプレートで完了したテストの例:

BLE(LE Audio 対応)
- デバイス A=Android V(15)+ デバイス B=Android T(13)
 - デバイス A=Android T(13)+ デバイス B=Android V(15)
 - デバイス A=Android T(13)+ デバイス B=Android S(12)
 - デバイス A=Android T(15)+ デバイス B=Android V(15)
 - デバイス B がメインの DUT になります。
 
- テンプレートの上部にある [スマートフォン] フィールドと [OS] フィールドに、デバイス B の詳細を入力します。
 
テストケースの例:
テスト用スマートフォン:
- デバイス 1: Samsung(Android 13)
 - デバイス 2: Google Pixel(Android 15)など。
 実行されたテスト:
- [LEA+BT]: デバイス A= Google Pixel 8(15)、デバイス B=Google Pixel 7 Pro(13)列 D: スマートフォン=Google Pixel 7 Pro、OS=Android 13
 - [BT+LEA]: デバイス A=Google Pixel 7(13)、デバイス B=Google Pixel 8(Android 15)列 E: スマートフォン=Google Pixel 8、OS=Android 15
 - [BT+BT]: デバイス A=Google Pixel 7 Pro(13)、デバイス B=Samsung S10+(12)列 E: スマートフォン=Samsung S10+、OS=Android 12
 - [LEA+LEA]: デバイス A=Google Pixel 8(15)、デバイス B=Google Pixel 8(15)列 E: スマートフォン=Google Pixel 8、OS=Android 15
 
セルフテスト テンプレートで完了したテストの例:

音声イベント:
テスト対象のオーディオ イベントは 4 種類あり、推奨されるテストアプリは次のとおりです。
- 電話:
- スマートフォンに内蔵されている電話アプリ。
 
 - VoIP: 次のような VoIP アプリを使用できます。
- 音声の切り替えテストアプリ。
 - FB Messenger。
 - 線。
 - Google Meet。
 - Google Meet。
 
 - メディア: 次のようなオーディオ プレーヤーを使用できます。
- 音声の切り替えテストアプリ。
 - YouTube Music。
 - Apple Music。
 - Spotify
 - Google Podcasts)に表示されないようにする
 
 - ゲーム:
- 音声の切り替えテストアプリ。
 
 
- 電話:
 
デバッグ情報:
通知は、fp-sass-partner-test グループに参加すると有効になります。次に例を示します。
- 最新のステータス通知:
 

- スイッチの通知なし:
 

- スイッチのレイテンシに関する通知:
 

レイテンシの測定
- スイッチのレイテンシには次の 2 種類があります。
- 切断された Seeker に Bluetooth プロファイルを接続する。
- これには、すべての SinglePoint ケースと、ターゲット シークア(デバイス B)が切断されている一部の MP ケースが含まれます。
 
 - アクティブな接続済みシーケンサーを切り替える。
- これには、対象のシーカ(デバイス B)がすでに接続されている一部の MP ケースも含まれます。
 
 
 - 切断された Seeker に Bluetooth プロファイルを接続する。
 - レイテンシ情報を取得する方法は 2 つあります。
- すべてのレイテンシは adb コマンドでダンプできます。
- 詳細については、ダンプ レイテンシのセクションをご覧ください。
 - このコマンドは、少なくとも 1 つのテストケースの完了後にレイテンシを取得して記録できます。
 
 - 音声の切り替えテストアプリを使用する。
- ターゲット シーケンサーで実行されているアプリに、切り替え後のレイテンシが表示されます。
 - 切り替えがない場合、アプリには「切り替えなし」の理由が表示されます。
 
 
 - すべてのレイテンシは adb コマンドでダンプできます。
 
音声切り替えテストアプリ:
- アプリを使用してセルフテスト中に VoIP/メディア/ゲーム音声イベントをトリガーすると、テストのセットアップが簡素化され、シーケンサーのイベント レイテンシが短縮されます。
- 最新バージョンはこちらからダウンロードできます。
 - LE Audio VoIP テストでは、ポリシーを手動で有効にする必要があります。 > adb root > adb shell settings put global hidden_api_policy 1 > adb reboot
 
 
- アプリのインストール:
- APK をテスト用スマートフォンにコピーして開きます。
 - あるいは、
adb install audio_test_app.apkを使用することもできます。 
 
- 通知へのアクセスを求めるダイアログが表示された場合は、次の操作を行います。
- [OK] をクリックします。
 - アプリリストで [FP SASS test] を選択します。
 - 通知へのアクセスを許可してください。
 
 
アプリの概要:

ターゲット プロバイダ
- このボタンをクリックすると、ペア設定された Bluetooth デバイスのリストが表示されます。テストする項目を選択します。
 - [接続] ボタンと [接続解除] ボタンは、Bluetooth 設定のデバイスの詳細にあるボタンと同じように機能します。
 
現在の状態
- このフィールドには、シーカーが BLE アドバタイズまたはイベント ストリームを使用してプロバイダから受信した最後の接続状態が表示されます。
 - 音声スイッチのデバッグ通知もここに表示されます。
 
求職者のタイプ
- このオプションは、音声ストリーム間でデバイスを切り替えるために使用します。
 
音声の種類
A2DP+HFP の従来型
- VoIP
- このモードを選択すると、音声モードが 
AudioManager.MODE_IN_COMMUNICATIONに変更され、AudioManager.startBluetoothScoが呼び出され、USAGE_VOICE_COMMUNICATIONで音声が再生されます。 - ストリーム タイプは 
STREAM_VOICE_CALLです。 - プロバイダの接続状態が 5 秒以内に 
CONNECTED_HFPに切り替わります。 
 - このモードを選択すると、音声モードが 
 - メディア
- このモードを選択すると、AVRCP をサポートする音声が再生されます。音声の使用タイプは 
USAGE_MEDIAです。 - プロバイダの接続状態が 5 秒以内に 
CONNECTED_A2DP_WITH_AVRCPに切り替わります。 - 接続状態は、開始または停止時に一時的に 
CONNECTED_A2DP_ONLYに切り替わることがあります。 
 - このモードを選択すると、AVRCP をサポートする音声が再生されます。音声の使用タイプは 
 ゲーム
- このモードを選択すると、AVRCP をサポートしていない音声が再生されます。音声の使用タイプは 
USAGE_GAMEです。 - プロバイダの接続状態が 5 秒以内に 
CONNECTED_A2DP_ONLYに切り替わります。 
- このモードを選択すると、AVRCP をサポートしていない音声が再生されます。音声の使用タイプは 
 
BLE(LE Audio 対応)
VoIP
- このモードを選択すると、音声モードが 
AudioManager.MODE_IN_COMMUNICATIONに変更され、USAGE_VOICE_COMMUNICATIONで音声が再生されます。 
- ストリーム タイプは 
STREAM_VOICE_CALLです。 - プロバイダの接続状態が 5 秒以内に 
CONNECTED_LE_AUDIO_CALLに切り替わります。 
- このモードを選択すると、音声モードが 
 メディア
- このモードを選択すると、ストリームタイプが 
STREAM_MUSICの音声が再生されます。音声の使用タイプはUSAGE_MEDIAです。 - プロバイダの接続状態が 5 秒以内に 
CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROLに切り替わります。 - 接続の開始または停止時に、接続状態が一時的に 
CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROLに切り替わることがあります。 
- このモードを選択すると、ストリームタイプが 
 ゲーム
- このモードを選択すると、ユーザーが直接制御できない音声が再生されます。音声の使用タイプは 
USAGE_GAMEです。 - プロバイダの接続状態が 5 秒以内に 
CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROLに切り替わります。 
- このモードを選択すると、ユーザーが直接制御できない音声が再生されます。音声の使用タイプは 
 
再生ボタンと停止ボタン
- 再生ボタンと停止ボタンは、音声の開始と停止に使用します。
 
スイッチの結果
- このフィールドには、接続と切り替えのアクティブなレイテンシが表示されます。また、オーディオ イベントがトリガーされたものの、切り替えが行われなかった場合、切り替えが拒否された理由も表示されます。
 - 待ち時間はミリ秒(ms)で測定されます。
 - 一般に、レイテンシは、音声切り替えトリガーの開始から、BT プロファイルの接続またはマルチポイント切り替え通知イベントの受信までの時間で測定されます。
 - プロバイダがトリガーした切り替えでは、音声の開始からのレイテンシが測定されます。
 
ダンプ レイテンシ
- 次のコマンドを使用すると、手動テストの実行時にレイテンシ測定値をキャプチャできます。
adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService- レイテンシの測定結果は、
NearbyDeviceManagerのSwitchHistoryセクションに表示されます。 
 - レイテンシの測定結果は、
 
            NearbyDeviceManager
              Nearby Sass device count: 1
                Sass device - address:XX:XX:XX:XX:XX:XX, name:Googler's Pixel Buds, accountKey:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, modelId:6edaf7
                  SwitchHistory
                    15:30:21:166 - 15:30:25:201, latency 3035ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:34:58:568 - 15:34:58:568, latency 0ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, HFP
                    15:36:26:615 - 15:36:31:603, latency 1988ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:37:56:108 - 15:37:56:250, latency 142ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, A2DP"
- GmsCore で測定できないスイッチ(HFP のアクティブ スイッチなど)は、0 ms のレイテンシとして記録されます。
 
ログパターンのリファレンス:

既知の問題:
シーカーが原因で発生する既知のバグは次のとおりです。
- ゲーム音声の切り替えが正しく行われない。
- Samsung 製スマートフォンでは、ゲームのプレイ中に接続状態が 
CONNECTED_A2DP_ONLYではなくCONNECTED_A2DP_WITH_AVRCPに設定されます。 - 一部のゲーム(キャンディー クラッシュなど)では、ユーザー入力なしでバックグラウンド ミュージックを再生し、新しい音声イベントをトリガーすることがあります。接続されたスマートフォンは、ゲームを開くたびに音声を絶えず切り替えることがあります。
 
 - Samsung 製スマートフォンでは、ゲームのプレイ中に接続状態が