裝置資訊
供應商可透過訊息串流通知搜尋者裝置資訊。
| 訊息群組名稱 | 值 |
|---|---|
| 裝置資訊事件 | 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 + 2、s + 3、s + 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 個位元組)