Die Wearable Data Layer API, die Teil der Google Play-Dienste ist, bietet Kommunikationskanal zwischen Wearable-Geräten (wie Smartwatches) und verbundenen Handheld-Geräten, wie etwa Smartphones. Es ist eine Möglichkeit, Daten zwischen den Geräten zu übertragen.
Hinweis:Diese API ist nur auf Wear OS-Smartwatches und gekoppelten Android-Geräten. Bei Wear OS-Smartwatches, die mit iOS-Smartphones gekoppelt sind, können Apps andere cloudbasierte APIs abfragen, wenn eine Internetverbindung verfügbar ist. Weitere Informationen Informationen zu diesen anderen APIs erhalten Sie unter Netzwerkzugriff und Synchronisierung aktiviert Wear OS
Achtung: Die Datenschicht-APIs wurden für folgende Zwecke entwickelt: Kommunikation zwischen Handhelds und Wearables – die einzigen APIs, die Sie um die Kommunikation zwischen diesen Geräten einzurichten. Versuchen Sie beispielsweise nicht, Low-Level-Sockets öffnen, um einen Kommunikationskanal zu erstellen.
Gängige Anwendungsfälle
Die Data Layer API ist besonders nützlich für Fitness- und Medienanwendungsfälle.
Fitness-Apps
Das Senden von Trainingsdaten von einer Wear OS-App an mobile Fitness-Apps die von einer Uhr erfassten Trainingsdaten in eine mobile App oder Gesundheit Verbinden. Wenn Sie die Data Layer API zum Übertragen von Daten verwenden, verwenden Sie einen Message Client, um Trainingsdaten von der Wear OS App an die mobile App zu senden um in Health Connect zu schreiben.
Beim Training zu Hause Live-Daten auf das Mobilgerät streamen
Ein gängiges Trainingsszenario für zu Hause ist das Streamen von Herzfrequenzdaten von einem Wear OS-Gerät. Gerät an ein Mobilgerät und zeigt dem Nutzer aktuelle Informationen zur Herzfrequenz an. auf dem Bildschirm ihres Mobilgeräts. Verwende zum Streamen dieser Daten einen Kanalclient.
Medien-Apps
Um einen Mediaplayer durch Pausieren/Fortsetzen/Starten/Beenden über die mit einem Nachrichtenclient zum Smartphone.
Optionen für die Kommunikation
Daten werden auf eine der folgenden Arten übertragen:
- Direkt, wenn eine Bluetooth-Verbindung zwischen dem Wear OS-Gerät und ein anderes Gerät.
- Über ein verfügbares Netzwerk wie LTE oder WLAN mit einem Netzwerkknoten auf den Google-Servern als Vermittler.
Alle Datenschichtclients können Daten entweder über Bluetooth oder die in die Cloud ein, je nachdem, welche Verbindungen für die Geräte verfügbar sind. Davon ausgehen, dass Daten die mithilfe der Datenschicht übertragen werden, möglicherweise irgendwann Google-eigene Server verwenden.
Bluetooth
Wenn Geräte über Bluetooth verbunden sind, verwendet die Datenschicht diese Verbindung. Es gibt einen einzigen verschlüsselten Kanal zwischen den Geräten, der Standard- Bluetooth-Verschlüsselung, verwaltet durch Google Play-Dienste
Cloud
Daten werden automatisch über Google Cloud geleitet, wenn Bluetooth nicht verfügbar ist. Alle über Google Cloud übertragenen Daten sind mit Ende-zu-Ende-Verschlüsselung geschützt.
Sicherheit der Kommunikation
Für Google Play-Dienste gelten die folgenden Einschränkungen, um für mehr Sicherheit Kommunikation zwischen der auf einem Wear OS-Gerät installierten App und derselben App auf einem Handheld-Gerät in der Nähe installiert ist:
- Der Paketname muss auf allen Geräten übereinstimmen.
- Die Signatur des Pakets muss auf allen Geräten übereinstimmen.
Keine anderen Apps haben Zugriff auf die Daten, unabhängig vom Verbindungstyp.
Einrichten
Für die Wearable Data Layer API gelten die folgenden Abhängigkeiten:
- Die aktuelle Version der Google Play-Dienste
- Ein Wear OS-Gerät oder einen Wear OS-Emulator
Füge die folgende Abhängigkeit in die build.gradle-Datei deines Wear-Moduls ein:
dependencies {
...
implementation("com.google.android.gms:play-services-wearable:18.2.0")
}
Erleichtern der ersten Kopplung
Horologe bietet verschiedene Hilfsbibliotheken für Plattform-APIs. Sie umfasst eine Datenschichtbibliothek, über die eine Verbindung zwischen einem Mobilgerät und einem Wear OS-Gerät. Außerdem bietet es praktische APIs, um Folgendes zu tun:
- Installiere die App auf dem anderen Gerät.
- Starten Sie die App auf dem anderen Gerät.
- Eine bestimmte Aktivität auf dem anderen Gerät starten
- Starte die Companion-App.
Auf die Datenschicht zugreifen
Verwenden Sie zum Aufrufen der Data Layer API die Klasse Wearable
, um Instanzen von
Die verschiedenen Clientklassen wie DataClient
und MessageClient
Weitere Informationen finden Sie im DataLayer-Beispiel.
Minimalen Client verwenden
Im folgenden Beispielcode wird gezeigt, wie Sie einen Client erstellen:
Kotlin
val dataClient: DataClient = Wearable.getDataClient(context)
Java
DataClient dataClient = Wearable.getDataClient(context);
Der Kontext kann ein beliebiger gültiger Android-Kontext sein. Wenn Sie die API in
Den Bereich eines Activity
, verwenden Sie die Methode getDataClient()
der Wearable
. Bestimmte Interaktionen werden dann als Dialogfelder
Benachrichtigungen erhalten, etwa wenn der Nutzer aufgefordert wird, seine Google-Version
Google Play-Dienste.
Standardmäßig erfolgen Rückrufe an Listener im Haupt-UI-Thread der App. Muss
für Callbacks in einem anderen Thread verwenden, WearableOptions
eine benutzerdefinierte Looper
angeben:
Kotlin
runBlocking { Wearable.getDataClient(context, options) }
Java
WearableOptions options = new WearableOptions.Builder().setLooper(myLooper).build(); DataClient dataClient = Wearable.getDataClient(context, options);
Weitere Informationen finden Sie in der Referenz zu WearableOptions.Builder
.
Clientinstanzen nach Bedarf neu erstellen
Wearable API-Clients wie DataClient
und MessageClient
sind
kostengünstig zu erstellen. Anstatt die Kundschaft an sich zu binden, erstellen Sie sie als
Sie brauchen sie in dem Stil, der zu Ihrer App passt.
Der Clientstatus, z. B. die Gruppe registrierter Listener, wird für alle und bleiben erhalten, wenn die Google Play-Dienste aktualisiert werden, während eine App ausgeführt wird.