デバイス情報

プロバイダは、 メッセージ ストリームを介してデバイス情報をシーカーに通知できます。

メッセージ グループ名
デバイス情報イベント 0x03
デバイス情報コード名
モデル ID 0x01
BLE アドレスを更新しました 0x02
バッテリーを更新しました 0x03
バッテリーの残り時間 0x04
アクティブなコンポーネントのリクエスト 0x05
アクティブなコンポーネントのレスポンス 0x06
(非推奨)機能 0x07
プラットフォーム タイプ 0x08
ファームウェアのバージョン 0x09
現在の FHN エフェメラル ID 0x0B

モデル ID

メッセージ ストリームが接続されたら、モデル ID 情報( AccountKey の事後書き込み用)を シーカーに送信する必要があります。たとえば、0x03010003AABBCC は次のようになります。

  • 0x03: デバイス情報イベント
  • 0x01: モデル ID 値
  • 0x0003: 追加データ、長さ 3
  • 0xAABBCC: 追加データ、モデル ID

BLE アドレス

BLE アドレス情報( AccountKey の事後書き込み用)も、 利用可能な場合は、メッセージ ストリームが接続されたときと アドレスがローテーションされるたびにシーカーに送信する必要があります。たとえば、0x03020006AABBCCDDEEFF は次のようになります。

  • 0x03: デバイス情報イベント
  • 0x02: BLE アドレス値
  • 0x0006: 追加データ、長さ 6
  • 0xAABBCCDDEEFF: 追加データ、BLE アドレス

バッテリーを更新しました

バッテリー通知をサポートするプロバイダの場合、バッテリー情報もメッセージ ストリームを介して送信できます。メッセージ ストリームが接続されたとき、またはバッテリーの値が変更されたときに、更新を送信する必要があります。パケットの追加 データ セクションには、BLE 経由でバッテリーデータをアドバタイズするときに、バイト s + 2s + 3s + 4 と同じデータを含める必要があります。たとえば、0x0303000357417F は次のようになります。

  • 0x03: デバイス情報イベント
  • 0x03: バッテリーの値
  • 0x0003: 追加データ、長さ 3
  • 0x57417F: 追加データ、バッテリーの値
    • 0x57: 左側のイヤフォン値、充電なし、バッテリー残量 87%
    • 0x41: 右側のイヤフォン値、充電なし、バッテリー残量 65%
    • 0x7F: ケースの値、充電なし、バッテリー不明

プロバイダは、バッテリーの残り時間(既知の場合)を更新することもできます。たとえば、0x03040001F0 は次のようになります。

  • 0x03: デバイス情報イベント
  • 0x04: バッテリーの残り時間
  • 0x0001: 追加データ、長さ 1(必要に応じて uint16 の場合は 2)
  • 0xF0: 追加データ、バッテリーの残り時間(分単位)、240 分

アクティブなコンポーネント

シーカーは、現在アクティブなコンポーネントを知りたい場合があります。 つまり、それらのコンポーネントに対してアクションを実行できます(デバイス アクションを参照)。 プロバイダが アクティブなコンポーネントのリクエスト コード(0x05)を含むリクエストを受信した場合、プロバイダの現在の状態を示すレスポンスを 1 秒以内に返す必要があります。レスポンスでは、 アクティブなコンポーネントのレスポンス コード(0x06)が使用され、使用可能なコンポーネントを示す追加データが含まれます。

コンポーネントが 1 つのプロバイダの場合、使用できない場合は追加データを 0x00 に設定する必要があります。たとえば、メディアの再生が行われない低電力モードなどです。それ以外の場合は、追加データを 0x01 に設定する必要があります。

複数のコンポーネント(左側と右側のイヤフォンなど)があるヘッドセットの場合、追加データの各ビットは、そのコンポーネントがアクティブかどうかを表します。非アクティブなコンポーネントの例としては、ケースに入っていて使用されていないイヤフォンがあります。特に左側と右側のイヤフォンの場合:

  • 0x00(0b00000000): どちらのイヤフォンもアクティブではない
  • 0x01(0b00000001): 右側のイヤフォンがアクティブ、左側が非アクティブ
  • 0x02(0b00000010): 左側のイヤフォンがアクティブ、右側が非アクティブ
  • 0x03(0b00000011): 両方のイヤフォンがアクティブ

プラットフォーム タイプ

プロバイダは、接続先のプラットフォームに応じて異なる動作を行う場合があります。現時点では、ファスト ペアリング は Android でのみ実行されますが、今後サポートが拡大される可能性があります。

メッセージの追加データには、プラットフォーム タイプを識別する最初のバイトが含まれます。

プラットフォーム名
Android 0x01

2 バイト目はプラットフォームごとにカスタマイズされます。Android では、 SDK バージョンを参照します。たとえば、Android Pie の値は 28(0x1C)になります。

ファームウェアのバージョン

プロバイダのファームウェア バージョンを utf-8 エンコードの文字列として表します。 ファームウェア リビジョン特性の情報と同じです。

現在の FHN エフェメラル ID

FHN フレームをアドバタイズするプロバイダは、クロック ドリフト(バッテリー切れなど)が発生した場合にシーカーと同期できるように、現在の FHN エフェメラル ID(EID)を現在のクロック値とともに報告する必要があります。

次に例を示します。

  • 0x03: デバイス情報イベント
  • 0x0B: 現在の FHN エフェメラル ID メッセージ
  • 0x0018: 追加データ、長さ 24 バイトまたは 36 バイト
  • 0x13F9EA80: 追加データ(クロック値、4 バイト)
  • 0x1122334455667788990011223344556677889900: 追加データ(現在の EID、20 バイトまたは 32 バイト)