Descripción general de la API de Data Layer

El nodo basado en la nube está controlado por un servidor que es propiedad de Google.
Figura 1: Una muestra de una red de nodos con Dispositivos Wear OS.

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:

  1. De forma directa, cuando hay una conexión Bluetooth establecida entre los dispositivo Wear OS y otro dispositivo.
  2. 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:

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. . 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.