Información del dispositivo
Los proveedores pueden notificar a un buscador sobre información del dispositivo mediante el flujo de mensajes.
Nombre del grupo de mensajes | Valor |
---|---|
Evento de información del dispositivo | 0 × 03 |
Nombre de código de información del dispositivo | Valor |
---|---|
ID de modelo | 0x01 |
Se actualizó la dirección BLE | 0x02 |
Se actualizó la batería | 0 × 03 |
Tiempo de batería restante | 0 × 04 |
Solicitud de componentes activos | 0 × 05 |
Respuesta de componentes activos | 0 × 06 |
Funciones (obsoletas) | 0 × 07 |
Tipo de plataforma | 0 × 08 |
ID de modelo
La información del ID del modelo (para Escribir AccountKey de forma retroactiva) se debe enviar al Seeker cuando se conecta RFCOMM. Por ejemplo, 0x03010003AABBCC
sería:
- 0x03: Evento de información del dispositivo
- 0x01: valor de ID del modelo
- 0x0003: Datos adicionales, longitud 3
- 0xAABBCC: Datos adicionales, ID de modelo
Dirección BLE
La información de dirección BLE (para escribir claves de cuenta de forma retroactiva) , si está disponible, también se debe enviar al Seeker cuando se conecta RFCOMM y cada vez que se rota la dirección. Por ejemplo, 0x03020006AABBCCDDEEFF
sería:
- 0x03: Evento de información del dispositivo
- 0x02: valor de la dirección BLE
- 0x0006: Datos adicionales, longitud 6
- 0xAABBCCDDEEFF: Datos adicionales, dirección BLE
Se actualizó la batería
Para los proveedores que admiten notificaciones sobre la batería, la información sobre la batería también se puede enviar a través de RFCOMM. Cuando se conecta RFCOMM o cambia el valor de la batería, se debe enviar una actualización. La sección de datos adicional del paquete debe contener datos idénticos a los bytes s + 2, s + 3, s + 4 cuando se anuncian datos de la batería en BLE. Por ejemplo,0x0303000357417F
sería:
- 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 auricular izquierdo, no se está cargando, batería del 87%
- 0x41: Valor del auricular derecho, no cargando, 65% de batería
- 0x7F: Valor de la funda, no cargando, batería desconocida
Los proveedores también pueden actualizar el tiempo de batería restante (si se conoce). Por ejemplo, 0x03040001F0
sería el 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, es posible que los usuarios deseen saber qué componentes están activos, 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 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 indican qué componentes están disponibles.
Para un proveedor con un solo componente, los datos adicionales se deben establecer en 0x00 si no están disponibles. Un ejemplo podría ser un modo de bajo consumo en el que no se realice la reproducción de contenido multimedia. De lo contrario, los datos adicionales se deben establecer en 0x01.
En el caso de los auriculares con varios componentes (por ejemplo, un auricular 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 auricular, que está en el estuche y no está en uso. Específicamente para los auriculares izquierdo y derecho:
- 0x00 (0b00000000): Ninguno de los auriculares activos
- 0x01 (0b00000001): Auricular derecho activo, izquierdo inactivo
- 0x02 (0b00000010): Auricular izquierdo activo, auricular derecho inactivo
- 0x03 (0b00000011): Ambos auriculares activos
Tipo de plataforma
Es posible que los proveedores quieran tener un rendimiento diferente según la plataforma a la que estén conectados. Actualmente, la 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, hará referencia a la versión del SDK. Por ejemplo, Android Pie tendrá un valor de 28 (0x1C).