ファスト ペアリングの資料と技術ノート

このページでは、ファスト ペアリング プロジェクトの計画とシステム統合のためにパートナーが必要とする有用な情報について説明します。

ファスト ペアリングの資料とプロセス

このセクションには、マーケティングとプロセスに関する一般的な情報へのリンクが記載されています。

マーケティング、ブランディング、メッセージ

ブランディングとメッセージングのガイダンスについては、Partner Marketing Hub をご覧ください。新しいパートナーはアクセスを申請する必要がありますが、既存のパートナーはすでにパートナー ドメイン アカウントを使用してコンテンツにアクセスできます。

ファスト ペアリング プロジェクトのライフサイクル

ファスト ペアリングをプロダクトに統合しているパートナーのプロジェクトのライフサイクルと責任の概要については、システム インテグレータ(SI)の役割と責任のページをご覧ください。

認定プロセス

ファスト ペアリングを実装するデバイスは、この機能を含む製品を販売する前に認定を受ける必要があります。ファスト ペアリング認定ガイドラインでは、認定の準備方法と認定前のセルフテストの実施方法を説明しています。

認定資格に関するよくある質問では、さまざまなよくある質問と、どのような場合に完全な認証(または再認定)が必要な場合の一般的な説明も取り上げています。

オーディオの切り替えなどのファスト ペアリング拡張機能を実装または使用するデバイスも、認定を受ける必要があります。オーディオ スイッチには、[別の認定ガイドライン][ASGuideLink] があり、セルフテストの手順とサードパーティ ラボ認定の準備について説明しています。

サードパーティのラボは、ファスト ペアリングと音声の切り替えを順次認定しています。各ラボでどの認定サービスを提供しているかについては、サードパーティ ラボへのデバイスの配送のページをご覧ください。

技術情報

このセクションでは、パートナーが開発と統合を行う際に役立つ、技術的な実装上の注意事項について説明します。

ファスト ペアリングとともに他のプロトコルをアドバタイズする方法

デバイスによっては、ファスト ペアリングに加えて、追加の広告スペースを必要とする Google アシスタントや Eddystone などの追加機能をサポートする場合もあります。このような場合は、広告データをローテーションすることをおすすめします。ただし、ファスト ペアリング アドバタイズは、検出可能モード検出不可モードに従って、アドバタイジング インターバル内でアドバタイズする必要があります。

広告ローテーションは、認定プロセスの第三者テスト段階でテストされます。認定の遅延、再テスト、費用が発生しないように、認定の前に、ファスト ペアリング バリデータ アプリでローテーション スキームを必ず確認してください。

BLE 接続間隔を短くする

GATT 接続のパフォーマンスを改善するため、プロバイダは接続間隔を可能な限り短くすることが求められます。予想される最適値は 7.5 ミリ秒で、ほとんどのシーカーに適用されます。

BLE アドバタイズとヘッドセットの接続状態

ファスト ペアリング ヘッドセットがモデル ID とアカウント データをアドバタイズするかどうかは、接続状態や切断状態ではなく、ヘッドセットの BR/EDR 検出可能モードによって異なります。以下のリンクから、ファスト ペアリング サービスの仕様を参照してください。

  • 「プロバイダ デバイスが BR/EDR 検出可能(つまり、ペア設定モード)になっている場合、BLE でファスト ペアリングのモデル ID データをアドバタイズする必要があります。」- リンク
  • 「検出できない場合(つまり、ペア設定モードでない場合)、プロバイダはファスト ペアリング アカウント データをアドバタイズするものとします」- リンク

TxPower

仕様で定義されているように、シーカーは指定された TxPower レベルに基づいて RSSI による距離を推定します。推定距離は、通知を表示するかどうかを決定する重要な要素です。

TxPower を決定するプロセスは次のとおりです。

  1. Android スマートフォンを使用して 1 m の距離でデバイスの実際の出力を測定し、41 dBm を加算します。
  2. この値を BLE アドバタイズに含めます。
  3. セルフテスト レポートのテスト用電話番号の情報とともに、この値を含めます。

Validator アプリによる TxPower の測定と設定

Validator アプリは、DUT の TxPower を手動で適切なレベルに調整するためのテストを提供します。パートナーは、セルフテストまたは認定の前に、このテストを使用して DUT の適切な TxPower レベルを決定できます。

TxPower 測定手順

Validator アプリで TxPower を測定するには:

  1. DUT で Validator アプリを開きます。
  2. アプリの上部にあるドットメニューを開きます。
    テストの名前は「Tx Power Level calibration tool」です。
  3. DUT をスマートフォンから 1 メートル離して、[START] ボタンをタップします。
    テストページには、目標推定距離が黄色で表示されます。
  4. デバイスリストから DUT を選択します。
    デバイスは MAC アドレスの順に表示されます。
    1. デバイスリストを更新するには、[CANCEL] ボタンをタップして [START] ボタンを再選択します。
  5. 赤い線(TxPower を表します)が黄色の領域の上部にほとんど触れない位置になるまで調整します。
    正しく調整すれば、赤色の線は黄色の領域の一番上に配置されます。
    1. [-1] ボタンを使って赤い線を黄色の領域に移動します。
    2. [+1] ボタンを使って赤い線を黄色の領域から離します。
    3. 信号の干渉により、赤い線が不安定になることがあります。赤色の線の動作が不安定な場合は、信号干渉の少ない場所に移動してみてください。
  6. TxPower 値を保存し、DUT とデバイス コンソールの両方で更新します。
    番号は画面上部に表示されます。

バッテリーに関する通知

仕様で定義されているように、プロバイダはアドバタイズにバッテリー情報を含めることができます。シーカーは、タイプに応じてバッテリー通知を表示するかどうかを決定します。バッテリー通知を表示する場合は 0b0011、非表示にする場合は 0b0100 を指定します。広告にバッテリー情報を含めるタイミングと使用するタイプに関するガイドラインは次のとおりです。

  1. ケースを開いて両方のイヤフォンがホルダーに装着されているときに、8 秒以上バッテリー通知 0b0011 を表示して、バッテリー情報をアドバタイズに含めます。
  2. ケースを閉じて両方のイヤフォンをホルダーに置いたときに、バッテリー通知 0b0100 を 5 秒以上表示して、バッテリー情報をアドバタイズに含めます。
  3. バッテリー通知の表示と非表示をレスポンシブにするには、アドバタイズに 2 秒以内に実際の状態を反映させる必要があります。
  4. バッテリーに関する通知を非表示にするには、次の 2 つの方法があります。
    1. アドバタイズにバッテリー情報を含めるのを停止すると、シーカーはしばらくすると通知を非表示にします(現在は 20 秒に設定されています)。
    2. バッテリー通知を非表示 0b0100 でアドバタイズにバッテリー情報を含めると、シーカーはアドバタイズメントを取得するとすぐに通知を非表示にします。
  5. ケースの開閉時に左右どちらか一方のイヤホンしかホルダーに装着されていない場合は、アドバタイズにバッテリー情報を含めるかどうかは任意です。
  6. イヤフォンをケースから取り出すとき、またはケースでホルダーに装着しているとき、アドバタイズに電池情報を含めるかどうかは任意です。
  7. トラッキングを防ぐため、プロバイダは、必要な場合にのみ(常にではなく)、アドバタイズに未加工のバッテリー データを含める必要があります。

実装は、認定資格のセルフテストの結果で説明する必要があります。

ファスト ペアリングのロギングを有効にする方法

デバッグの前に、デバイスで Bluetooth HCI スヌープログが有効になっていることを確認します。

デバッグログにファスト ペアリング メッセージをキャプチャするには、次のコマンドを実行します。

$ adb logcat -G 16M
$ adb shell setprop log.tag.NearbyMessages VERBOSE
$ adb shell setprop log.tag.NearbyDiscovery VERBOSE
$ adb shell setprop log.tag.FastPair VERBOSE

ブート シーケンスごとに上記のコマンドを実行することをおすすめします。

デバッグログを抽出する方法

$ adb bugreport を実行して、すべてのデータが含まれる zip ファイルを生成します。zip ファイルの生成には数分かかることがあります。

Android のバージョンに応じて、次のいずれかのコマンドを実行して btsnoop_hic.log を取得します。

  • Android 8.x 以降の場合: shell $ adb pull data/misc/bluetooth/logs logs
  • Android 7.x の場合: shell $ adb pull sdcard/btsnoop_hci.log