Eigenständige und nicht eigenständige Wear OS-Apps im Vergleich

Wir empfehlen, dass Wear OS-Apps unabhängig von einem Smartphone funktionieren, damit Nutzer:innen ohne Zugriff auf ein Android- oder iOS-Smartphone, um Aufgaben auf einer Smartwatch zu erledigen. Wenn Ihre Smartwatch-App Interaktion per Smartphone erfordert, musst du deine Wear OS-App als nicht eigenständige App kennzeichnen und Maßnahmen zu ergreifen, um sicherzustellen, dass dem Nutzer die Telefon App zur Verfügung steht.

App planen

Sie können Android App Bundle optimierte Android Package Kits (APKs) für die Gerätekonfiguration jedes Nutzers im selben App-Eintrag. So können Nutzer nur den Code und die Ressourcen herunterladen, die sie benötigen die App ausführen.

Informationen zum Einrichten deiner App für den Vertrieb über im Google Play Store finden Sie unter Wear OS-Apps verpacken und vertreiben und den Leitfaden für den Einstieg Android App Bundles

Bei neuen Apps muss das Ziel-API-Level 30 oder höher sein. Weitere Informationen finden Sie unter Lernen Sie die Ziel-API von Google Play kennen. Anforderungsstufe. Legen Sie die targetSdkVersion auf API-Level 30 (Wear OS 3), damit deine App einwandfrei funktioniert auf die neueste Plattformversion.

Informationen zu Netzwerkanfragen und Netzwerkzugriffen mit hoher Bandbreite finden Sie Siehe Netzwerkzugriff und Synchronisierung unter Wear OS

App als Wear OS-App definieren

Du musst das <uses-feature>-Tag in der Android-Manifestdatei deiner App definieren. Um anzugeben, dass es sich um eine Smartwatch-App handelt, fügen Sie einen Eintrag wie den folgenden hinzu:

  <manifest>
  ...
  <uses-feature android:name="android.hardware.type.watch" />
  ...
  </manifest>
  

Bestimmen Sie, ob eine App eigenständig oder nicht eigenständig ist.

Eine Smartwatch-App wird entweder als eigenständig oder nicht eigenständig betrachtet:

  • Eigenständig: eine völlig unabhängige App, die für die Hauptfunktionen keine Smartphone-App erfordert Funktionen. Obwohl „Auf Smartphone öffnen“ Aufforderungen zulässig sind, muss die App eine Alternative Nutzende können eine App-Funktion wie einen Kurzlink oder einen QR-Code ausführen, ohne auf einem per Tethering verbundenen Smartphone.
  • Nicht eigenständige App: eine abhängige App, für die eine App auf einem Smartphone oder einem anderen Gerät erforderlich ist die wichtigsten Funktionen. Diese Option eignet sich am besten für Apps, bei denen alternative Möglichkeiten wie QR-Code oder Kurzlink für Ausführung einer App-Kernfunktion, wie z. B. der Authentifizierung.

Hinweis:Nutzer können das Installationsmedium Wear OS App vor der mobilen App. Wenn Ihre Wear OS App erkennt, Handheld-Gerät in der Nähe die erforderliche Companion-App nicht hat, den Nutzer um die Companion-App zu installieren.

Google prüft während der App, ob der eigenständige Status einer App korrekt ist der Auslieferung. Dieser Wert wirkt sich auf die Sichtbarkeit von Apps im Play Store auf Geräte ohne Tethering, z. B. Wear OS-Geräte, die nicht mit einem Mobilgerät gekoppelt sind Geräte. Nicht eigenständige Apps sowie Apps, die falsch entwickelt wurden die als „eigenständig“ gekennzeichnet werden, sind für Nutzer ohne Tethering nicht verfügbar. Geräte.

Lege in deiner Wear OS-App den Wert des meta-data-Elements auf com.google.android.wearable.standalone fest in der Android-Manifestdatei, um anzugeben, ob deine App eigenständig oder nicht eigenständig ist.

Wenn es sich bei Ihrer Smartwatch-App um eine völlig unabhängige, eigenständige App handelt, zum Google Play Store hinzufügen, indem Sie die Wert von com.google.android.wearable.standalone in true:

<application>
...
  <meta-data
    android:name="com.google.android.wearable.standalone"
    android:value="true" />
...
</application>

Wenn Ihre Smartwatch-App nicht eigenständig ist und die Hauptfunktionen von einer anderen App benötigt, Setzen Sie den Wert von com.google.android.wearable.standalone auf false. Dies bedeutet, dass für die Smartwatch-App ein anderes Gerät erforderlich ist, dies aber nicht auf Ihre App-Werbung im Google Play Store auswirken.

Hinweis: Auch wenn der Wert von com.google.android.wearable.standalone false, die Smartwatch App kann vor der Installation der Telefon App installiert werden. Wenn Ihre Smartwatch-App erkannt, dass ein gekoppeltes Smartphone wie auf dieser Seite beschrieben, nicht die erforderliche Telefon-App den Nutzer auffordern, die Smartphone-App zu installieren.

Gemeinsamer Code und Datenspeicherung

Code kann zwischen einer Wear OS-App und einer Smartphone-App geteilt werden. Allgemeiner Code für Netzwerke kann sich beispielsweise in einer gemeinsam genutzten Bibliothek befinden.

Optional: Code die für einen bestimmten Formfaktor spezifisch sind, können sich in einem separaten Modul befinden.

Sie können standardmäßige Storage APIs von Android verwenden, um Daten lokal zu speichern, während Sie wie auf einem Smartphone. Sie können beispielsweise die Methode Gemeinsame Einstellungen APIs oder Room Persistenzbibliothek.

App auf einem anderen Gerät erkennen

Ihre Smartwatch-App und die entsprechende Telefon-App erkennen, ob die andere App verfügbar ist.

Ihre Smartphone- und Smartwatch-Apps können den <ph type="x-smartling-placeholder"></ph> CapabilityClient, um für ihre Präsenz zu werben mit einem gekoppelten Gerät. Sie können dies statisch oder dynamisch tun.

Wenn eine App sich auf einem Knoten im Wear OS-Netzwerk eines Nutzers befindet, z. B. auf einem Smartphone, einer gekoppelten Smartwatch oder in der Cloud aktiviert haben, lässt die CapabilityClient andere Apps erkennen. Weitere Informationen finden Sie unter <ph type="x-smartling-placeholder"></ph> Werbefunktionen:

Wenn eine Ihrer Apps die andere nicht erkennt, können Sie den Nutzer, den Play Store-Eintrag auf dem betroffenen Gerät zu öffnen. Das ist eine Lösung für Smartwatch-Apps, ob die Companion-App korrekt funktioniert.

Sie müssen prüfen, ob der Play Store auf an das Gerät angeschlossen, da nicht alle Telefone – wie z. B. iPhones – die Play Store

In den folgenden Abschnitten werden Best Practices für zwei Szenarien beschrieben:

  • Die eigenständige Smartwatch-App benötigt die Smartphone-App.
  • Ihre Smartphone-App benötigt Ihre eigenständige Smartwatch-App.

Sie können auch die Beispiel für Datalayer-Hilfsprogramm, das zeigt, wie die <ph type="x-smartling-placeholder"></ph> Datalayer-Hilfsbibliotheken, Teil von Horologe Mit diesen Hilfsfunktionen können Sie die Verbindung zwischen und ein Wear OS-Gerät. Weitere Informationen zu den im folgenden Abschnitt beschriebenen Klassen finden Sie in den Wear OS API-Referenz Diese Referenz enthält auch Informationen über die <ph type="x-smartling-placeholder"></ph> PhoneTypeHelper-Klasse, die ein <ph type="x-smartling-placeholder"></ph> getPhoneDeviceType()-Methode, mit der Die Wear OS App prüft, ob das gekoppelte Smartphone ein Android- oder iOS-Gerät ist.

Geben Sie Funktionsnamen zum Erkennen Ihrer Anwendungen an

Geben Sie für die App für den jeweiligen Gerätetyp (Smartwatch oder Smartphone) eine eindeutige Zeichenfolge für den Funktionsnamen in der res/values/wear.xml-Datei.

In Ihrem mobilen Modul ist z. B. die Datei wear.xml könnte Folgendes enthalten:

<resources xmlns:tools="http://schemas.android.com/tools"
        tools:keep="@array/android_wear_capabilities">
    <string-array name="android_wear_capabilities">
        <item>verify_remote_example_phone_app</item>
    </string-array>
</resources>

In deinem Wear OS-Modul enthält die Datei wear.xml Folgendes: unterschiedlichen Wert für den Funktionsnamen, wie zum Beispiel:

<resources xmlns:tools="http://schemas.android.com/tools"
        tools:keep="@array/android_wear_capabilities">
    <string-array name="android_wear_capabilities">
        <item>verify_remote_example_wear_app</item>
    </string-array>
</resources>

Weitere Informationen finden Sie unter Werbefunktionen:

App-Erkennung und Öffnen einer URL auf einer Smartwatch

Deine Smartwatch-App kann erkennen, ob das gekoppelte Smartphone eines Nutzers dein Smartphone-App. Gehen Sie dazu so vor:

  1. Verwenden Sie die Methode CapabilityClient, um zu prüfen, ob deine Smartphone-App installiert ist auf dem gekoppelten Smartphone. Weitere Informationen finden Sie in der <ph type="x-smartling-placeholder"></ph> Beispiel für Datalayer-Hilfsprogramm auf GitHub.
  2. Wenn Ihre Telefon App nicht auf dem Telefon installiert ist, verwenden Sie die <ph type="x-smartling-placeholder"></ph> PhoneDeviceType.getPhoneDeviceType()-Methode, um prüfen Sie den Smartphone-Typ. Weitere Informationen finden Sie im folgenden Abschnitt.
  3. Wenn <ph type="x-smartling-placeholder"></ph> PhoneDeviceType.DEVICE_TYPE_ANDROID. zurückgegeben wird, ist es ein Android-Smartphone. Anruf <ph type="x-smartling-placeholder"></ph> RemoteActivityHelper.startRemoteActivity() auf dem Wear OS-Gerät, um öffne den Play Store auf dem Smartphone. Verwenden Sie den Markt-URI für Ihr Smartphone. App überprüfen. Diese kann sich vom URI Ihrer Wear-App unterscheiden. Verwenden Sie zum Beispiel einen Markt-URI wie: market://details?id=com.example.android.wearable.wear.finddevices
  4. Wenn <ph type="x-smartling-placeholder"></ph> PhoneDeviceType.DEVICE_TYPE_IOS. zurückgegeben wird, ist das Smartphone ein iOS-Smartphone ohne Google Play Geschäft verfügbar. App Store auf dem iPhone öffnen indem du RemoteActivityHelper.startRemoteActivity() über die Wear OS-Smartwatch anrufst Betriebssystemgerät. Sie können die iTunes-URL Ihrer App angeben, z. B. https://itunes.apple.com/us/app/yourappname

    Unter Wear OS lässt sich nicht programmatisch feststellen, Ihre Telefon-App auf einem iOS-Gerät installiert ist. Geben Sie als Best Practice Mechanismus zur manuellen Auslösung der die Eröffnung des App Store.

Hinweis: Verwenden Sie die RemoteActivityHelper API, die zuvor für eine beliebige URL von der Smartwatch aus auf dem Smartphone öffnen, und dass keine Telefon-App erforderlich ist.

Details zur Erkennung des gekoppelten Telefontyps

Hier ist ein Snippet, in dem die Methode getPhoneDeviceType() verwendet wird, überprüfen Sie den Telefontyp, mit dem die Uhr gekoppelt ist:

Kotlin

var phoneDeviceType: Int = PhoneDeviceType.getPhoneDeviceType(context)

Java

int phoneDeviceType = PhoneDeviceType.getPhoneDeviceType(context);

Der von getPhoneDeviceType() zurückgegebene Wert -Methode eine der folgenden ist:

Rückgabewert Beschreibung
DEVICE_TYPE_ANDROID Das gekoppelte Smartphone ist ein Android-Gerät.
DEVICE_TYPE_IOS Das gekoppelte Smartphone ist ein iOS-Gerät.
DEVICE_TYPE_UNKNOWN Das gekoppelte Smartphone ist ein unbekanntes Gerät.
DEVICE_TYPE_ERROR Beim Ermitteln des Typs des gekoppelten Telefons ist ein Fehler aufgetreten. noch eine Prüfung später vorgenommen werden sollte.

App-Erkennung ab einem Android-Smartphone

Dein Android-Smartphone kann erkennen, ob die Wear OS-Geräte eines Nutzers Smartwatch-App. Gehen Sie dazu so vor:

  1. Mit der <ph type="x-smartling-placeholder"></ph> NodeClient, findest du alle Smartwatches, die mit dem Smartphone. Weitere Informationen finden Sie in der <ph type="x-smartling-placeholder"></ph> Beispiel für Datalayer-Hilfsprogramm auf GitHub.
  2. Mit der CapabilityClient, welche Smartwatches des Nutzers haben Ihre App installiert haben.
  3. Wenn deine App nicht auf allen Smartwatches des Nutzers installiert ist, öffne den Play Store auf den verbleibenden Wear OS-Geräten auf dem Smartphone mit die Methode RemoteActivityHelper.startRemoteActivity(). Verwende den Markt-URI für die Wear OS-App. Er lautet von der URI Ihrer Telefon-App unterscheidet. Verwenden Sie z. B. einen Markt-URI. Beispiele: market://details?id=com.example.android.wearable.wear.finddevices

Standortdaten für mit iPhones gekoppelte Smartwatches

Verwenden Sie bei Uhren, für die ein Pairing mit einem iPhone besteht, die <ph type="x-smartling-placeholder"></ph> Fused Location Provider (FLP) verwenden, um Standortdaten auf der Smartwatch abzurufen. Weitere Informationen finden Sie unter <ph type="x-smartling-placeholder"></ph> Standorterkennung unter Wear OS

Wenn das gekoppelte Smartphone verfügbar ist, verwendet FLP dieses Smartphone für Standortdaten.

Nur notwendige Daten abrufen

Beim Abrufen von Daten aus dem Internet sollten Sie notwendige Daten. Andernfalls kann es zu unnötiger Latenz, und den Akkuverbrauch.

Wenn eine Smartwatch über eine Bluetooth LE-Verbindung verbunden ist, kann es passieren, dass deine App eine Bandbreite von nur 4 Kilobyte pro Sekunde haben, auf der Uhr. Daher werden die folgenden Schritte empfohlen:

  • Prüfen Sie Ihre Netzwerkanfragen und -antworten auf zusätzliche Daten, die nur die für eine Telefon-App erforderlich sind.
  • Verkleinere große Bilder, bevor du sie über ein Netzwerk an eine Uhr sendest.

Wenn ein Netzwerk mit hoher Bandbreite benötigt wird, lesen Sie den Abschnitt <ph type="x-smartling-placeholder"></ph> Netzwerkzugriff mit hoher Bandbreite.

Zusätzliche Codebeispiele

Die <ph type="x-smartling-placeholder"></ph> Das Datalayer-Hilfsbeispiel veranschaulicht die Verwendung der auf dieser Seite behandelten APIs.