Beim Erstellen von Wear OS-Apps für China musst du auch Smartphones berücksichtigen, auf denen die Google Play-Dienste nicht vorinstalliert sind. Auf dieser Seite finden Sie häufige Änderungen, die Entwickler für den chinesischen Markt vornehmen müssen.
Die richtige Version der Google Play-Dienste verwenden
Die Version 10.2.0 der Google Play-Dienste bietet weltweite Unterstützung für die Fused Location Provider API und die Data Layer API. Sie müssen diese Version der Google Play-Dienste verwenden, wenn Sie diese APIs nutzen, um eine breitere Palette von Wear OS-Geräten in China zu unterstützen. In anderen Fällen ist diese Abhängigkeit optional.
Hinweis: Google Play-Dienste enthalten zwar APIs für Wear OS-Apps, Wear OS-Apps für China sollten jedoch weiterhin APIs verwenden, die sich auf GoogleApiClient
beziehen. Weitere Informationen finden Sie unter Auf die Wearable API zugreifen.
Fused Location Provider API
Wenn du die Fused Location Provider API verwendest, füge die folgende Abhängigkeit in die Datei build.gradle
deines Wear OS-Moduls ein:
Groovy
dependencies { ... implementation 'com.google.android.gms:play-services-location:10.2.0' }
Kotlin
dependencies { ... implementation("com.google.android.gms:play-services-location:10.2.0") }
Data Layer API
Wenn deine App die Data Layer API verwendet, musst du die folgende Zeile in die Datei build.gradle
deines Wear OS-Moduls einfügen. Für die Zeile ist die Version 10.2.0 der Clientbibliothek erforderlich.
Groovy
dependencies { ... implementation 'com.google.android.gms:play-services-wearable:10.2.0' ... }
Kotlin
dependencies { ... implementation("com.google.android.gms:play-services-wearable:10.2.0") ... }
Fügen Sie der Datei build.gradle
des mobilen Moduls die folgende Zeile hinzu. Ersetzen Sie die Abhängigkeit von den Google Play-Diensten durch einen Verweis auf die Version 10.2.0.
Cool
dependencies { ... implementation 'com.google.android.gms:play-services-wearable:10.2.0' }
Kotlin
dependencies { ... implementation("com.google.android.gms:play-services-wearable:10.2.0") }
Authentifizierung
Bevor Sie die Authentifizierung implementieren, prüfen Sie Ihre Anwendungsfälle, um festzustellen, ob eine Authentifizierung tatsächlich erforderlich ist. Für eine App, die die Wettervorhersage liefert, ist beispielsweise keine Anmeldung und damit keine Authentifizierung erforderlich.
Wenn eine Authentifizierung erforderlich ist, empfehlen wir die Verwendung der AndroidX Oauth-Bibliothek. Dazu muss der Ablauf Autorisierungscode mit PKCE verwendet werden. Sie können auch eine der anderen Methoden verwenden, die unter Authentifizierung auf Wearables beschrieben sind. Die Verwendung der Wearable Support Library wird nicht empfohlen.
Weitere Informationen finden Sie im Wear OS OAuth-Beispiel auf GitHub.
Überbrückte Benachrichtigungen
Brückenbenachrichtigungen werden in China nicht unterstützt. Telefonbenachrichtigungen werden nur dann an Wear OS weitergeleitet, wenn das Wear OS-Gerät über Bluetooth mit dem Smartphone verbunden ist.
Kompatibilität von Standort- und Kartenkoordinaten
Verwenden Sie FusedLocationProvider
(FLP), um den Standort des Nutzers in China zu ermitteln, wie Sie es für den Rest der Welt tun würden. Dadurch wird sichergestellt, dass deine App unabhängig von der Hardware der Smartwatch und der Smartphoneplattform, mit der die Smartwatch gekoppelt ist, die besten Informationen berücksichtigt.
Wenn Sie die FLP verwenden, wird auch die in die Wear OS-Plattform integrierte Akkuoptimierung aktiviert.
Berücksichtigen Sie bei der Einbindung von FusedLocationProvider
in Karten-SDKs von Drittanbietern die Kompatibilität der Koordinaten zwischen den Anbietern.
FusedLocationProvider
meldet den Standort gemäß dem WGS84-Standard.
Konvertieren Sie gegebenenfalls die Koordinatensysteme.
Google Fit-Support
Google Fit- Schrittzähler-, Aktivitätsminuten und Kardiopunkte werden in China unterstützt, wobei der Verlauf bis zu 7 Tage zurückliegen kann. Sie können darauf zugreifen, ohne Nutzeranmeldedaten anzugeben.
Unterstützung für Sprachbefehle
Die Wear OS-Plattform bietet mehrere Sprachabsichten, die auf Nutzeraktionen basieren, z. B. „Herzfrequenz anzeigen“ oder „Wecker stellen“. So können Nutzer sagen, was sie tun möchten, und das System ermittelt die beste Aktivität, die gestartet werden soll.
Wenn Nutzer eine Sprachaktion aussprechen, kann Ihre App nach der Absicht filtern, die ausgelöst wird, um eine Aktivität zu starten. Wenn Sie einen Dienst im Hintergrund starten möchten, zeigen Sie eine Aktivität als visuellen Hinweis an und starten Sie den Dienst in der Aktivität. Rufen Sie
finish()
auf, um das visuelle Signal zu entfernen.
Hier finden Sie eine Liste der Sprachabsichten, die von der Wear OS-Plattform unterstützt werden:
Category | Beispiel | Intent-Spezifikation |
Fahrdienst | 打车去三里屯 | Aktion
Extra
Das Extra ist optional. |
Wecker stellen | Aktion
Extras
Diese Extras sind optional. Sie können entweder, beide oder keine dieser zusätzlichen Informationen angeben. |
|
Timer einstellen | 设置一个三分钟的倒计时 | Aktion
Extras
|
Stoppuhr starten | 开始计时 | Aktion
|
Fahrradtour starten oder beenden | 开始骑车 | Aktion
MIME-Typ
Weitere Funktionen
|
Lauf starten oder beenden | 开始跑步 | Aktion
MIME-Typ
Extras
|
Training starten oder beenden | 开始锻炼 | Aktion
MIME-Typ
Extras
|
Herzfrequenz anzeigen | 查看心率 | Aktion
MIME-Typ
|
Schrittzahl anzeigen | 查看步数 | Aktion
MIME-Typ
|
Navigation | 导航去三里屯 | Aktion
Daten geo:latitude,longitude?q=融科资讯中心 |
Voice Assistant kann auch vorhandene allgemeine Android-Intents verwenden, um gegebenenfalls bestimmte Aktionen auszulösen.
Emulator-Unterstützung
Sie können die China-Version des Wear OS-Emulator-Images verwenden, um Ihre Apps zu testen. Diese Funktion wird von Android Studio 3.0 und höher unterstützt.
So testen Sie Ihre Apps mit der chinesischen Version des Emulators:
- Installieren Sie den Android-Emulator.
- Lade die Wear OS for China-Images im SDK-Manager herunter. Verwenden Sie die Version für Wear OS 3.5 (API-Level 30).
- Wählen Sie beim Erstellen eines AVD-Profils das Wear OS für China-Image aus.
- Führen Sie den Wear OS für China-Emulator für die Entwicklung aus.
Diese Version des Wear OS-Emulators enthält mehrere vorinstallierte Apps:
- Umgebungsmodus
- Kontakte
- Google Handschrifteingabe
- Google Play-Dienste
- Gesundheitsdienste für Wear OS
- Hotword-Erkennung für LE-Geräte
- Pinyin
- Play Store (angepasst für Geräte in China)
- Taschenuhr
- TalkBack
- Zifferblätter (sowohl analoge als auch digitale Versionen)
- Wear-Hauptdienste
App-spezifischen Bluetooth- und WLAN-Kanal initiieren
Wear OS leitet Netzwerkanfragen automatisch weiter. In den meisten Fällen muss die App keinen appspezifischen Bluetooth- oder WLAN-Kanal öffnen.
Wenn eine App in China einen anwendungsspezifischen Bluetooth- und WLAN-Kanal anfordert, schlägt die Anfrage stillschweigend fehl. Stattdessen wird ein Dialogfeld angezeigt, in dem der Nutzer um Bestätigung gebeten wird. Wenn der Nutzer zustimmt, wird der Kanal geöffnet. Das passiert jedes Mal, nicht nur bei der ersten Verwendung. BluetoothAdapter.enable()
oder WifiManager.setEnabled(true)
wird aufgerufen.
Hinweis : Damit eine App, die auf Android 10 (API-Level 29) oder höher ausgerichtet ist, WifiManager.setEnabled()
aufrufen kann, muss es eine System-App oder ein Device Policy Controller (DPC) sein.
Modus zur Überprüfung von Berechtigungen
In China werden Wear OS for China-Geräte im Modus „Berechtigungsprüfung“ ausgeführt, der einige Einschränkungen für die Verwendung von Apps mit einer targetApiLevel
unter 23 vorsieht. Beachten Sie die folgenden Limits:
- Obwohl Berechtigungen bei der Installation gewährt werden, wird beim ersten Start einer App mit einer
targetApiLevel
unter 23 ein Dialogfeld angezeigt, in dem der Nutzer aufgefordert wird, die Berechtigungen für diese App zu bestätigen. - Komponenten in der App wie Broadcastempfänger, Dienste und Aktivitäten reagieren nicht auf entsprechende Ereignisse, bevor die App zum ersten Mal verwendet wird.
Daher empfehlen wir, targetApiLevel
23 oder höher zu verwenden und die Best Practices für App-Berechtigungen zu übernehmen.
Andere APIs der Google Play-Dienste verwenden
Wenn Ihre App neben der Wearable API auch Google Play-Dienst-APIs verwendet, muss sie prüfen, ob diese APIs während der Laufzeit verfügbar sind, und entsprechend reagieren. Es gibt zwei Möglichkeiten, die Verfügbarkeit von Google Play-Dienst-APIs zu prüfen:
- Verwenden Sie eine separate
GoogleApiClient
-Instanz für die Verbindung zu anderen APIs. Diese Schnittstelle enthält Callbacks, mit denen die App über den Erfolg oder Fehler der Verbindung informiert wird. Bei einer fehlgeschlagenen Verbindung wird anstelle vonConnectionResult
API_UNAVAILABLE
angezeigt. Informationen zum Umgang mit Verbindungsfehlern finden Sie unter Zugriff auf Google APIs. - Verwenden Sie die Methode
addApiIfAvailable()
vonGoogleApiClient.Builder
, um eine Verbindung zu den erforderlichen APIs herzustellen. Nachdem der CallbackonConnected()
ausgelöst wurde, verwende die MethodehasConnectedApi()
, um dafür zu sorgen, dass jede der angeforderten APIs korrekt verbunden ist.
Apps in China bereitstellen
Wenn Sie Nutzer von Wear OS in China effektiv erreichen möchten, können Sie Ihre App über Wear OS-App-Shops von Drittanbietern wie die folgenden vertreiben:
- Galaxy Store für Samsung-Geräte
- Xiaomi Store für Xiaomi-Geräte
- Mobvoi für alle anderen Geräte