裝置資訊

供應商可透過訊息串流通知搜尋者裝置資訊。

訊息群組名稱
裝置資訊事件 0x03
裝置資訊代碼名稱
模型 ID 0x01
已更新 BLE 位址 0x02
電池已更新 0x03
剩餘電量時間 0x04
有效元件要求 0x05
Active components response 0x06
(已淘汰) 功能 0x07
平台類型 0x08
韌體版本 0x09
目前的 FHN 暫時性 ID 0x0B

模型 ID

訊息串流連線時,應將模型 ID 資訊 (適用於追溯寫入 AccountKey) 傳送給 Seeker。舉例來說,0x03010003AABBCC 會是:

  • 0x03:裝置資訊事件
  • 0x01:型號 ID 值
  • 0x0003:額外資料,長度為 3
  • 0xAABBCC:其他資料、模型 ID

BLE 位址

如果可用的話,也應在訊息串流連線時,以及每次地址輪替時,將 BLE 地址資訊 (適用於追溯寫入 AccountKey) 傳送給 Seeker。舉例來說,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),並包含額外資料,指出有哪些可用元件。

如果供應商只有單一元件,則額外資料應設為 0x00 (如果沒有)。舉例來說,在省電模式下,系統不會播放媒體。否則,額外資料應設為 0x01。

如果是多個元件組成的耳機 (例如左右耳機),額外資料中的每個位元都代表該元件是否處於啟用狀態。舉例來說,如果耳機放在充電盒中且未使用,就屬於閒置狀態。左耳機和右耳機充電盒專用:

  • 0x00 (0b00000000):兩側耳機均未啟用
  • 0x01 (0b00000001):右側耳機處於啟用狀態,左側耳機處於停用狀態
  • 0x02 (0b00000010):左側耳機處於啟用狀態,右側耳機處於停用狀態
  • 0x03 (0b00000011):左右耳機都處於啟用狀態

平台類型

供應商可能會根據連線的平台執行不同操作。快速配對目前僅透過 Android 執行,但未來可能會擴大支援範圍。

訊息會在額外資料中包含第一個位元組,用於識別平台類型:

平台名稱
Android 0x01

第二個位元組會根據平台自訂。在 Android 中,這會是指 SDK 版本。舉例來說,Android Pie 的值為 28 (0x1C)。

韌體版本

供應商的韌體版本,以 utf-8 編碼的字串表示。這項資訊與韌體修訂特徵中的資訊相同。

目前的 FHN 暫時性 ID

放送 FHN 影格的供應商應回報目前的 FHN 暫時性 ID (EID) 和目前的時鐘值,以便在時鐘漂移時 (例如電池耗盡) 與 Seeker 同步。

例如:

  • 0x03:裝置資訊事件
  • 0x0B:目前的 FHN 暫時性 ID 訊息
  • 0x0018:額外資料,長度為 24 或 36 個位元組
  • 0x13F9EA80:其他資料 (時鐘值;4 個位元組)
  • 0x1122334455667788990011223344556677889900:額外資料 (目前 EID; 20 或 32 個位元組)