Clienttyp auswählen

Die Wear OS-Data-Layer-APIs bestehen aus verschiedenen Clienttypen, die für unterschiedliche Datentypen und bei unterschiedlichen Verbindungsbedingungen nützlich sind.

Auf dieser Seite werden die einzelnen Clienttypen vorgestellt. Außerdem finden Sie hier eine Tabelle, in der die Funktionen der verschiedenen Clients verglichen werden. Anhand dieser Informationen können Sie die Clienttypen auswählen, die für Ihre App am besten geeignet sind.

Wann sollte die Data Layer API verwendet werden?

Verwenden Sie die Data Layer API, wenn die Interaktion ausschließlich zwischen der lokalen Smartwatch und dem lokalen Smartphone erfolgt. Detaillierte Beispiele finden Sie unter Häufige Anwendungsfälle für die Datenschicht.

Datenclient

Mit einem DataClient-Objekt können Sie Daten in eine DataItem oder Asset lesen oder schreiben:

  • Jedes DataItem ist eine Informationseinheit, die an alle Geräte in der Nähe, die einem Nutzer gehören, gesendet und synchronisiert wird. Ein DataItem wird dauerhaft gespeichert und Ihr Gerät kann seinen Inhalt lesen, bis das Datenelement gelöscht wird.

  • Ein Asset ist für größere Daten-Payloads wie Bilder oder Mediendateien vorgesehen.

Messaging-Client

Ein MessageClient-Objekt kann Nachrichten senden und eignet sich für Remote Procedure Calls (RPC), z. B. um mit einem Wear OS-Gerät die Version Ihrer App zu steuern, die auf einem Mobilgerät installiert ist.

Nachrichten eignen sich hervorragend für Einweganfragen mit sendMessage() oder für ein Anfrage-Antwort-Kommunikationsmodell mit sendRequest(). Im Gegensatz zu Datenclients müssen Nachrichtenclients mit dem Netzwerk verbunden sein, um Nachrichten senden zu können.

Die Methode sendMessage() ist ein Best-Effort-Ansatz für die Zustellung an den Remote-Knoten und enthält keinen integrierten Wiederholungsmechanismus. Wenn die Verbindung zum Zielgerät getrennt wird, bevor die Netzwerkübertragung beginnt, gibt die Methode TARGET_NODE_NOT_CONNECTED zurück.

Channel-Client

Ein ChannelClient-Objekt ermöglicht die streamorientierte Kommunikation zwischen Geräten. Ein Kanal ist eine bidirektionale Kommunikationsleitung zwischen zwei Knoten, die für Anwendungsfälle wie die folgenden nützlich ist:

  • Daten zwischen zwei oder mehr verbundenen Geräten übertragen, wenn keine Internetverbindung besteht. ChannelClient spart im Vergleich zu DataClient Speicherplatz, da bei DataClient eine Kopie der Assets auf dem lokalen Gerät erstellt wird, bevor die Synchronisierung mit verbundenen Geräten erfolgt.
  • Dateien, die zu groß für den Versand per MessageClient sind, zuverlässig senden.
  • Übertragen von gestreamten Daten, z. B. Sprachdaten vom Mikrofon

Nachdem Sie einen Channel geöffnet haben, können Sie Daten in einem kontinuierlichen Bytestream senden und empfangen, anstatt in den diskreten DataItem-Einheiten, die Datenclients benötigen.

Sie sind für die Verwaltung des Datenflusses und die Konsistenz der Daten verantwortlich. Channel-Clients bieten nicht dasselbe Maß an automatischer Datensynchronisierung wie Daten-Clients.

Clientvergleich

In der folgenden Tabelle werden die Funktionen der verschiedenen Clients verglichen:

Clienttyp Datenpersistenz Werden Daten unterstützt, die größer als 100 KB sind? Zu verwendendes Netzwerk Funktioniert offline?
Data Client Daten werden auf unbestimmte Zeit gespeichert. Ja (Asset-Objekte verwenden) Bluetooth bevorzugt. Daten werden in der Cloud gesichert. Wenn Bluetooth verfügbar ist, erfolgt diese Sicherung asynchron. Ja, sowohl für Lese- als auch für Schreibvorgänge
Messaging-Client Keine Persistenz und kein Wiederholungsversuch Nein Bluetooth wird bevorzugt, aber WLAN kann verwendet werden, wenn es die einzige verfügbare Verbindung ist. Nein
Channel-Client Keine Persistenz (verbindungsorientiert) Ja Bluetooth wird bevorzugt, aber WLAN kann verwendet werden, wenn es die einzige verfügbare Verbindung ist. Nein

Weitere Informationen zur Arbeit mit den Data Layer APIs finden Sie im Leitfaden Daten synchronisieren. Informationen zum Stromverbrauch bei Verwendung der Data Layer APIs finden Sie im Leitfaden Strom sparen.