L'API Wearable Data Layer, qui fait partie des services Google Play, fournit un de communication entre les accessoires connectés (comme les montres connectées) et appareils portables connectés (généralement des smartphones) C'est un moyen de synchroniser et pour transférer des données entre les appareils.
Remarque:Cette API n'est disponible que sur les montres Wear OS et appareils Android associés. Pour les montres Wear OS associées à des téléphones iOS, les applications peuvent interroger d'autres API dans le cloud si une connexion Internet est disponible. Pour plus des informations sur ces API, consultez Accès au réseau et synchronisation activée Wear OS
Attention:Comme les API de couche de données sont conçues pour la communication entre les appareils portables et les accessoires connectés, ce sont les seules API que vous pouvez utiliser pour établir la communication entre ces appareils. Par exemple, n'essayez pas de ouvrir des sockets de bas niveau pour créer un canal de communication.
Cas d'utilisation courants
L'API Data Layer est particulièrement utile pour les cas d'utilisation liés au fitness et aux contenus multimédias.
Applis de fitness
L'envoi de données d'exercice depuis l'application Wear OS vers l'application mobile Les applications de remise en forme ont souvent besoin écrire les données d'exercice enregistrées par une montre dans une application mobile ou dans Santé Connect. Si vous utilisez l'API Data Layer pour transférer des données, utilisez un client de messagerie pour envoyer des données d'exercice depuis l'application Wear OS vers l'application mobile pour écrire dans Santé Connect.
Diffuser des données en direct sur l'appareil mobile pendant une séance de sport à la maison
Un scénario d'entraînement courant à la maison consiste à diffuser en streaming des données de fréquence cardiaque depuis une montre Wear OS. appareil à un appareil mobile et montrant à l'utilisateur des informations à jour sur la fréquence cardiaque sur l'écran de leur appareil mobile. Pour diffuser ces données, utilisez un client de canal.
Applications multimédias
Pour contrôler un lecteur multimédia par le biais d'une action de mise en pause, de reprise, de démarrage ou de fin depuis montre sur le téléphone, utilisez un client de messagerie.
Options de communication
Les données sont transférées de l'une des manières suivantes:
- Directement, lorsqu'une connexion Bluetooth est établie entre un appareil Wear OS et un autre appareil.
- Via un réseau disponible, tel que LTE ou Wi-Fi, via un sur les serveurs de Google en tant qu'intermédiaire.
Tous les clients de la couche de données peuvent échanger des données via le Bluetooth ou à l'aide du en fonction des connexions disponibles pour les appareils. Supposons que les données transmises à l'aide de la couche de données peuvent à un moment donné utiliser des serveurs appartenant à Google.
Bluetooth
Lorsque les appareils sont connectés via le Bluetooth, la couche de données utilise cette connexion. Il n'existe qu'un seul canal chiffré entre les deux appareils, Chiffrement Bluetooth géré par les services Google Play.
Cloud
Les données sont automatiquement acheminées via Google Cloud lorsque le Bluetooth n'est pas disponible. Toutes les données transférées via Google Cloud sont chiffrées de bout en bout.
Sécurité des communications
Les services Google Play appliquent les restrictions suivantes pour renforcer la sécurité la communication entre l'application installée sur un appareil Wear OS et la même application installé sur un appareil portable à proximité:
- Le nom du package doit être identique sur tous les appareils.
- La signature du package doit être identique sur tous les appareils.
Aucune autre application n'a accès aux données, quel que soit le type de connexion.
Configuration
L'API Wearable Data Layer dispose des dépendances suivantes :
- La dernière version des services Google Play
- Un appareil Wear OS ou un émulateur Wear OS
Incluez la dépendance suivante dans le fichier build.gradle de votre module Wear:
dependencies {
...
implementation("com.google.android.gms:play-services-wearable:18.2.0")
}
Faciliter le processus d'association initial
Horologist fournit plusieurs bibliothèques d'aide en plus des API de la plate-forme. Il inclut une bibliothèque de couches de données qui permet d'établir une connexion entre un appareil mobile et un appareil Wear OS. De plus, il fournit des API pratiques pour effectuer les opérations suivantes:
- Installez l'application sur l'autre appareil.
- Lancez l'application sur l'autre appareil.
- Lancez une activité spécifique sur l'autre appareil.
- Lancez l'application associée.
Accéder à la couche de données
Pour appeler l'API Data Layer, utilisez la classe Wearable
afin d'obtenir des instances de
les différentes classes de client, telles que DataClient
et MessageClient
.
Pour en savoir plus, consultez l'exemple DataLayer.
Utiliser un client minimal
Pour créer un client, consultez l'exemple de code suivant:
Kotlin
val dataClient: DataClient = Wearable.getDataClient(context)
Java
DataClient dataClient = Wearable.getDataClient(context);
Le contexte peut correspondre à n'importe quel contexte Android valide. Si vous utilisez l'API dans
le champ d'application d'un Activity
, utilisez la méthode getDataClient()
de Wearable
;
. Certaines interactions peuvent ainsi apparaître sous forme de boîtes de dialogue plutôt que
les notifications, par exemple lorsqu'il est invité à mettre à jour sa version de
Services Play.
Par défaut, les rappels des écouteurs sont effectués sur le thread UI principal de l'application. Pour avoir
des rappels effectués sur un autre thread, utilisez un objet WearableOptions
pour
spécifiez un Looper
personnalisé:
Kotlin
runBlocking { Wearable.getDataClient(context, options) }
Java
WearableOptions options = new WearableOptions.Builder().setLooper(myLooper).build(); DataClient dataClient = Wearable.getDataClient(context, options);
Pour en savoir plus, consultez la documentation de référence sur WearableOptions.Builder
.
Recréer les instances de client si nécessaire
Les clients de l'API Wearable, tels que DataClient
et MessageClient
, sont
peu coûteux à créer. Au lieu de conserver les clients, recréez-les
dont vous avez besoin, en utilisant
le style qui convient à votre application.
L'état du client, tel que l'ensemble des écouteurs enregistrés, est partagé entre toutes et est conservée si les services Google Play sont mis à jour alors qu'une application en cours d'exécution.