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:
-
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. -
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. -
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
-
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 duRemoteActivityHelper.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:
-
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. -
Mit der
CapabilityClient
, welche Smartwatches des Nutzers haben Ihre App installiert haben. -
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.