La API de Wearable Data Layer, que forma parte de Servicios de Google Play, proporciona una canal de comunicación entre dispositivos wearable (como relojes inteligentes) y dispositivos portátiles conectados (por lo general, smartphones). Es una forma de sincronizar y transfieren datos entre los dispositivos.
Nota: Esta API solo está disponible en relojes y relojes Wear OS. dispositivos Android vinculados. Para los relojes Wear OS vinculados con teléfonos iOS, las apps pueden consultar otras APIs basadas en la nube si hay conectividad a Internet disponible. Para ver más para obtener más información sobre estas APIs, visita Acceso a la red y sincronización activados Wear OS
Precaución: Debido a que las APIs de Data Layer están diseñadas para entre dispositivos portátiles y wearables, estas son las únicas APIs que puedes usar para configurar la comunicación entre estos dispositivos. Por ejemplo, no intentes abrir sockets de bajo nivel para crear un canal de comunicación.
Casos de uso comunes
La API de Data Layer es particularmente útil para casos de uso de fitness y contenido multimedia.
Apps relacionadas con el estado físico
Enviar datos de ejercicio desde la app para Wear OS hacia la app para dispositivos móviles Las apps de fitness suelen necesitar escribir los datos de ejercicio capturados por un reloj en una aplicación móvil o en Conéctate. Si utilizas la API de Data Layer para transferir datos, utiliza un cliente de mensajes para enviar datos de ejercicio desde la app para Wear OS hacia la app para dispositivos móviles para escribir en Health Connect.
Transmite datos en vivo al dispositivo móvil durante un entrenamiento en casa
Una situación común de entrenamiento en casa es la transmisión de datos de frecuencia cardíaca desde un dispositivo Wear OS. dispositivo móvil a un dispositivo móvil y mostrarle al usuario información actualizada sobre la frecuencia cardíaca en la pantalla de su dispositivo móvil. Para transmitir estos datos, usa un cliente de canal.
Apps multimedia
Para controlar un reproductor multimedia con las acciones de pausar, reanudar, iniciar o finalizar, reloj al teléfono, utiliza un cliente de mensajes.
Opciones de comunicación
Los datos se transfieren de una de las siguientes maneras:
- De forma directa, cuando hay una conexión Bluetooth establecida entre los dispositivo Wear OS y otro dispositivo.
- A través de una red disponible, como LTE o Wi-Fi, con un de red en los servidores de Google como intermediario.
Todos los clientes de Data Layer pueden intercambiar datos a través de Bluetooth o en la nube, según las conexiones disponibles para los dispositivos. Suponer que los datos transmitidos con Data Layer pueden, en algún momento, usar servidores propiedad de Google.
Bluetooth
Cuando los dispositivos se conectan a través de Bluetooth, Data Layer usa esta conexión. Hay un único canal encriptado entre los dispositivos, usando Encriptación Bluetooth administrada por los Servicios de Google Play
Nube
Los datos se enrutan automáticamente a través de Google Cloud cuando Bluetooth no está disponible. Todos los datos que se transfieren a través de Google Cloud están encriptados de extremo a extremo.
Seguridad de las comunicaciones
Los Servicios de Google Play aplican las siguientes restricciones para brindar la comunicación entre la app instalada en un dispositivo Wear OS y la misma app instalada en un dispositivo portátil cercano:
- El nombre del paquete debe coincidir en todos los dispositivos.
- La firma del paquete debe coincidir en todos los dispositivos.
Ninguna otra app tiene acceso a los datos, independientemente del tipo de conexión.
Configuración
La API de Wearable Data Layer tiene las siguientes dependencias:
- La versión más reciente de los Servicios de Google Play
- Un dispositivo con Wear OS o un emulador con Wear OS
Incluye la siguiente dependencia en el archivo build.gradle de tu módulo de Wear:
dependencies {
...
implementation("com.google.android.gms:play-services-wearable:18.2.0")
}
Facilitar el proceso de vinculación inicial
Horologist proporciona varias bibliotecas de ayuda además de las APIs de la plataforma. Incluye una biblioteca de capas de datos que ayuda a establecer una conexión entre un dispositivo móvil y un dispositivo Wear OS. Además, brinda APIs convenientes para lo siguiente:
- Instala la app en el otro dispositivo.
- Inicia la app en el otro dispositivo.
- Inicia una actividad específica en el otro dispositivo.
- Inicia la aplicación complementaria.
Cómo acceder a la capa de datos
Para llamar a la API de Data Layer, usa la clase Wearable
para obtener instancias de
las diferentes clases de cliente, como DataClient
y MessageClient
.
Para obtener más información, consulta la muestra de DataLayer.
Cómo usar un cliente mínimo
Para crear un cliente, consulta el siguiente código de ejemplo:
Kotlin
val dataClient: DataClient = Wearable.getDataClient(context)
Java
DataClient dataClient = Wearable.getDataClient(context);
El contexto puede ser cualquier contexto de Android válido. Si usas la API dentro de
el alcance de un Activity
, usa el método getDataClient()
de Wearable
.
clase. Esto permite que ciertas interacciones aparezcan como diálogos en lugar de como
como cuando se le pide al usuario que actualice su versión de Google
Servicios de Play
De forma predeterminada, las devoluciones de llamada a los objetos de escucha se realizan en el subproceso de IU principal de la app. Para tener
las devoluciones de llamada realizadas en un subproceso diferente, usa un objeto WearableOptions
para
especifica un objeto Looper
personalizado:
Kotlin
runBlocking { Wearable.getDataClient(context, options) }
Java
WearableOptions options = new WearableOptions.Builder().setLooper(myLooper).build(); DataClient dataClient = Wearable.getDataClient(context, options);
Para obtener más información, consulta la referencia de WearableOptions.Builder
.
Vuelve a crear instancias de cliente según sea necesario
Los clientes de la API de Wearable, como DataClient
y MessageClient
, son
económicos de crear. Así que, en lugar de aferrarte a los clientes, recréalos como
y las necesitas con el estilo que se adapte a tu app.
El estado del cliente, como el conjunto de objetos de escucha registrados, se comparte en todos y se conserva si se actualizan los Servicios de Google Play mientras se actualiza en ejecución.