Clienttyp auswählen

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

Auf dieser Seite werden die einzelnen Clienttypen vorgestellt und in einer Tabelle werden die Funktionen der verschiedenen Clients verglichen. Anhand dieser Informationen können Sie die Clienttypen auswählen, die am besten für Ihre App 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 den häufigen Anwendungsfällen für die Data Layer API.

Daten-Client

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

  • Jedes DataItem ist eine Informationseinheit, die an alle Geräte in der Nähe gesendet und auf allen Geräten synchronisiert wird, die ein Nutzer besitzt. DataItem wird dauerhaft gespeichert und die Inhalte können von Ihrem Gerät gelesen werden, bis das Datenelement gelöscht wird.

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

Nachrichten-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 gut für unidirektionale Anfragen mit sendMessage() oder für ein Anfrage-Antwort-Kommunikationsmodell mit sendRequest(). Im Gegensatz zu Daten-Clients müssen die Knoten bei Nachrichten-Clients mit dem Netzwerk verbunden sein, um Nachrichten senden zu können.

Die Methode sendMessage() versucht nach bestem Wissen und Gewissen, die Nachricht an den Remote-Knoten zu senden. Sie enthält keinen integrierten Wiederholungsmechanismus. Wenn die Verbindung zum Zielgerät unterbrochen 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 Channel ist eine bidirektionale Kommunikationsleitung zwischen zwei Knoten, die für Anwendungsfälle wie die folgenden nützlich ist:

  • Übertragen Sie Datendateien zwischen zwei oder mehr verbundenen Geräten, wenn keine Internetverbindung besteht. ChannelClient spart im Vergleich zu DataClient Speicherplatz, da DataClient eine Kopie der Assets auf dem lokalen Gerät erstellt, bevor die Synchronisierung mit verbundenen Geräten erfolgt.
  • Senden Sie zuverlässig eine Datei, die zu groß ist, um sie mit einem MessageClient zu senden.
  • Übertragen Sie Streamingdaten wie Sprachdaten vom Mikrofon.

Nachdem Sie einen Channel geöffnet haben, können Sie Daten in einem kontinuierlichen Bytestream senden und empfangen, anstatt der diskreten DataItem-Einheiten, die für Daten-Clients erforderlich sind.

Sie sind für die Verwaltung des Datenflusses und die Konsistenz der Daten verantwortlich. Channel-Clients bieten nicht die gleiche automatische Datensynchronisierung wie Daten-Clients.

Clientvergleich

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

Clienttyp Datenpersistenz Unterstützt Daten, die größer als 100 KB sind? Zu verwendendes Netzwerk Funktioniert offline?
Daten-Client Daten werden unbegrenzt gespeichert Ja (use Asset objects) 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
Nachrichten-Client Keine Persistenz und keine Wiederholung Nein Bluetooth bevorzugt, aber WLAN kann verwendet werden, wenn es die einzige verfügbare Verbindungsart ist Nein
Channel-Client Keine Persistenz (verbindungsorientiert) Ja Bluetooth bevorzugt, aber WLAN kann verwendet werden, wenn es die einzige verfügbare Verbindungsart ist Nein

Weitere Informationen zur Verwendung der Data Layer APIs finden Sie im Leitfaden Daten synchronisieren. Informationen zu Energieaspekten bei der Verwendung der Data Layer APIs, siehe den Leitfaden Energie sparen.