Información del dispositivo
Los proveedores pueden notificar a un buscador sobre la información del dispositivo a través de la transmisión de mensajes.
| Nombre del grupo de mensajes | Valor |
|---|---|
| Evento de información del dispositivo | 0x03 |
| Nombre de código de información del dispositivo | Valor |
|---|---|
| ID de modelo | 0x01 |
| Se actualizó la dirección de BLE | 0x02 |
| Se actualizó la batería | 0x03 |
| Tiempo restante de la batería | 0x04 |
| Solicitud de componentes activos | 0x05 |
| Respuesta de componentes activos | 0x06 |
| (Obsoleto) Capacidades | 0x07 |
| Tipo de plataforma | 0x08 |
| Versión de firmware | 0x09 |
| Identificador efímero de FHN actual | 0x0B |
ID de modelo
La información del ID de modelo (para
escribir AccountKey de forma retroactiva) se debe
enviar al buscador cuando se conecta la transmisión de mensajes. Por ejemplo, 0x03010003AABBCC sería lo siguiente:
- 0x03: Evento de información del dispositivo
- 0x01: Valor del ID de modelo
- 0x0003: Datos adicionales, longitud 3
- 0xAABBCC: Datos adicionales, ID de modelo
Dirección de BLE
La información de la dirección de BLE (para escribir AccountKey de forma retroactiva), si el
proveedor puede obtenerla, también se enviará al buscador cuando se conecte la transmisión de mensajes
y cada vez que se rote la dirección. Por ejemplo, 0x03020006AABBCCDDEEFF sería lo siguiente:
- 0x03: Evento de información del dispositivo
- 0x02: Valor de la dirección de BLE
- 0x0006: Datos adicionales, longitud 6
- 0xAABBCCDDEEFF: Datos adicionales, dirección de BLE
Se actualizó la batería
En el caso de los proveedores que admiten notificaciones de batería,
la información de la batería también se puede enviar a través de la transmisión de mensajes. Cuando se conecta la transmisión de mensajes o cambia el valor de la batería, se debe enviar una actualización. La sección de datos adicionales
del paquete debe contener datos idénticos a los bytes
s + 2, s + 3 y s + 4 cuando se anuncian datos de la batería a través de BLE. Por ejemplo, 0x0303000357417F sería lo siguiente:
- 0x03: Evento de información del dispositivo
- 0x03: Valor de la batería
- 0x0003: Datos adicionales, longitud 3
- 0x57417F: Datos adicionales, valores de la batería
- 0x57: Valor del audífono izquierdo, no se está cargando, 87% de batería
- 0x41: Valor del audífono derecho, no se está cargando, 65% de batería
- 0x7F: Valor del estuche, no se está cargando, batería desconocida
Los proveedores también pueden actualizar el tiempo restante de la batería (si se conoce). Por ejemplo, 0x03040001F0 sería lo siguiente:
- 0x03: Evento de información del dispositivo
- 0x04: Tiempo restante de la batería
- 0x0001: Datos adicionales, longitud 1 (podría ser 2 para uint16 si es necesario)
- 0xF0: Datos adicionales, tiempo restante de la batería en minutos, 240 minutos
Componentes activos
A veces, los buscadores pueden querer saber qué componentes están activos actualmente, lo que significa que se puede realizar una acción en ellos (consulta Acciones del dispositivo). Cuando el proveedor recibe una solicitud que contiene el código de solicitud de componentes activos (0x05), se debe mostrar una respuesta en el plazo de 1 segundo que indique el estado actual del proveedor. La respuesta usará el código de respuesta de componentes activos (0x06) y contendrá datos adicionales que indiquen qué componentes están disponibles.
En el caso de un proveedor con un solo componente, los datos adicionales deben establecerse en 0x00 si no están disponibles. Un ejemplo de esto podría ser un modo de bajo consumo en el que no se realizará la reproducción de contenido multimedia. De lo contrario, los datos adicionales deben establecerse en 0x01.
En el caso de los auriculares con varios componentes (por ejemplo, un audífono izquierdo y uno derecho), cada bit de los datos adicionales representa si ese componente está activo. Un ejemplo de un componente inactivo podría ser un audífono que está en el estuche y no se está usando. Específicamente para el caso de los audífonos izquierdo y derecho:
- 0x00 (0b00000000): Ningún audífono activo
- 0x01 (0b00000001): Audífono derecho activo, izquierdo inactivo
- 0x02 (0b00000010): Audífono izquierdo activo, derecho inactivo
- 0x03 (0b00000011): Ambos audífonos activos
Tipo de plataforma
Es posible que los proveedores quieran comportarse de manera diferente según la plataforma a la que estén conectados. Actualmente, Vinculación rápida solo se realiza a través de Android, pero es posible que se expanda la compatibilidad en el futuro.
El mensaje contendrá un primer byte que identifica el tipo de plataforma en los datos adicionales:
| Nombre de la plataforma | Valor |
|---|---|
| Android | 0x01 |
El segundo byte se personalizará por plataforma. En Android, se referirá a la versión del SDK. Por ejemplo, Android Pie tendrá un valor de 28 (0x1C).
Versión de firmware
La versión de firmware del proveedor como una cadena en codificación utf-8. Es la misma información que en la característica de revisión de firmware .
Identificador efímero de FHN actual
Los proveedores que anuncian marcos de FHN deben informar el identificador efímero (EID) de FHN actual con su valor de reloj actual para sincronizar con el buscador en caso de una desviación del reloj (por ejemplo, debido a la batería agotada).
Por ejemplo:
- 0x03: Evento de información del dispositivo
- 0x0B: Mensaje de identificador efímero de FHN actual
- 0x0018: Datos adicionales, longitud de 24 o 36 bytes
- 0x13F9EA80: Datos adicionales (valor del reloj; 4 bytes)
- 0x1122334455667788990011223344556677889900: Datos adicionales (EID actual; 20 o 32 bytes)