Wear OS-Apps für China erstellen

Wenn Sie Wear OS-Apps für China erstellen, müssen Sie Smartphones berücksichtigen, auf denen die Google Play Dienste nicht vorinstalliert sind. Auf dieser Seite finden Sie häufige Änderungen, die Entwickler möglicherweise für den chinesischen Markt vornehmen müssen.

Die richtige Version der Google Play-Dienste verwenden

Die Google Play-Dienste Version 10.2.0 bietet weltweiten Support für die API für den Anbieter für kombinierte Standortbestimmung und die Data Layer API. Sie müssen diese Version der Google Play-Dienste verwenden, wenn Sie diese APIs nutzen, um eine größere Auswahl an Wear OS-Geräten in China zu unterstützen. In anderen Fällen ist diese Abhängigkeit optional.

Hinweis: Obwohl die Google Play-Dienste APIs für Wear OS-Apps enthalten, sollten Wear OS-Apps für China weiterhin APIs verwenden, die mit GoogleApiClient verknüpft sind. Weitere Informationen finden Sie unter Auf die Wearable API zugreifen.

Fused Location Provider API

Wenn Sie die API des Anbieters für kombinierte Standortbestimmung verwenden, fügen Sie der Datei build.gradle Ihres Wear OS-Moduls die folgende Abhängigkeit hinzu:

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 Ihre App die Data Layer API verwendet, müssen Sie der build.gradle Datei Ihres Wear OS-Moduls die folgende Zeile hinzufügen. Für die Zeile ist die Verwendung der Version 10.2.0 von 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 Ihres mobilen Moduls die folgende Zeile hinzu. Ersetzen Sie die Google Play-Dienste-Abhängigkeit durch einen Verweis auf die Version 10.2.0.

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")
}

Authentifizierung

Bevor Sie die Authentifizierung implementieren, prüfen Sie Ihre Anwendungsfälle, um festzustellen, ob sie tatsächlich erforderlich ist. Bei einer App, die beispielsweise die Wettervorhersage liefert, ist keine Anmeldung und somit keine Authentifizierung erforderlich.

Wenn Sie eine Authentifizierung benötigen, empfehlen wir die Verwendung der AndroidX Oauth-Bibliothek. Dazu ist die Verwendung des Autorisierungscode-Grant mit PKCE Ablauf erforderlich. 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

Überbrückte Benachrichtigungen werden in China nicht unterstützt. Smartphone-Benachrichtigungen werden nur dann an Wear OS überbrückt, 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 auch für den Rest der Welt tun würden. So wird sichergestellt, dass Ihre App die besten Informationen berücksichtigt, unabhängig von der Smartwatch-Hardware und der Smartphone-Plattform, mit der die Smartwatch gekoppelt ist. Durch die Verwendung von FLP wird auch die in die Wear OS-Plattform integrierte Akku-Optimierung hinzugefügt.

Wenn Sie FusedLocationProvider in SDKs von Drittanbietern für Karten einbinden, berücksichtigen Sie die Kompatibilität der Koordinaten zwischen den Anbietern. FusedLocationProvider meldet den Standort gemäß dem WGS84 Standard. Konvertieren Sie die Koordinatensysteme nach Bedarf.

Google Fit-Unterstützung

Der kumulierte Schrittzähler, die Bewegungsminuten und die Herzpunkte von Google Fit werden in China mit einem Verlauf von bis zu sieben Tagen unterstützt. Sie können darauf zugreifen, ohne Anmeldedaten anzugeben.

Unterstützung für Sprachaktionen

Die Wear OS-Plattform bietet mehrere Sprach-Intents, die auf Nutzeraktionen wie _„Herzfrequenz anzeigen“_ oder _„Wecker stellen“_ basieren. 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 ausführen, kann Ihre App nach dem Intent filtern, das zum Starten einer Aktivität ausgelöst wird. Um einen Dienst im Hintergrund zu starten, zeigen Sie eine Aktivität als visuellen Hinweis an und starten Sie den Dienst in der Aktivität. Rufen Sie finish() auf, um den visuellen Hinweis zu entfernen.

Hier ist eine Liste der Sprach-Intents, die von der Wear OS-Plattform unterstützt werden:

Kategorie Beispiel Intent-Spezifikation
Taxiservice 打车去三里屯 Aktion

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

Extra

to: das erkannte Ziel

Das Extra ist optional.

Wecker stellen 设置一个明早七点的闹钟 Aktion

android.intent.action.SET_ALARM

Extras

android.provider.AlarmClock.EXTRA_HOUR: eine Ganzzahl mit der Stunde des Weckers

android.provider.AlarmClock.EXTRA_MINUTES: eine Ganzzahl mit der Minute des Weckers

Diese Extras sind optional. Geben Sie entweder beide oder keines dieser Extras an.

Timer einstellen 设置一个三分钟的倒计时 Aktion

android.intent.action.SET_TIMER

Extras

android.provider.AlarmClock.EXTRA_LENGTH: eine Ganzzahl im Bereich von 1 bis 86400 (die Anzahl der Sekunden in 24 Stunden), die die Länge des Timers darstellt

Stoppuhr starten 开始计时 Aktion

com.google.android.wearable.action.STOPWATCH

Fahrradtour starten oder beenden 开始骑车 Aktion

vnd.google.fitness.TRACK

MIME-Typ

vnd.google.fitness.activity/biking

Extras

actionStatus: ein String mit dem Wert ActiveActionStatus beim Starten und CompletedActionStatus beim Beenden

Laufen starten oder beenden 开始跑步 Aktion

vnd.google.fitness.TRACK

MIME-Typ

vnd.google.fitness.activity/running

Extras

actionStatus: ein String mit dem Wert ActiveActionStatus beim Starten und CompletedActionStatus beim Beenden

Training starten oder beenden 开始锻炼 Aktion

vnd.google.fitness.TRACK

MIME-Typ

vnd.google.fitness.activity/other

Extras

actionStatus: ein String mit dem Wert ActiveActionStatus beim Starten und CompletedActionStatus beim Beenden

Herzfrequenz anzeigen 查看心率 Aktion

vnd.google.fitness.VIEW

MIME-Typ

vnd.google.fitness.data_type/com.google.heart_rate.bpm

Schrittzahl anzeigen 查看步数 Aktion

vnd.google.fitness.VIEW

MIME-Typ

vnd.google.fitness.data_type/com.google.step_count.cumulative

Navigation 导航去三里屯 Aktion

android.intent.action.VIEW

Daten

geo:latitude,longitude?q=融科资讯中心

Der Sprachassistent kann auch vorhandene allgemeine Android-Intents verwenden, um bestimmte Verhaltensweisen auszulösen, sofern zutreffend.

Emulator-Unterstützung

Sie können die chinesische Version des Wear OS-Emulator-Images verwenden, um Ihre Apps zu testen. Dies wird von Android Studio 3.0 und höher unterstützt.

So testen Sie Ihre Apps in der chinesischen Version des Emulators:

  1. Installieren Sie den Android-Emulator.
  2. Laden Sie die Wear OS for China-Images über den SDK-Manager herunter. Verwenden Sie die Version für Wear OS 3.5 (API-Level 30).
  3. Wählen Sie beim Erstellen eines AVD-Profils das Wear OS for China-Image aus.
  4. Führen Sie den Wear OS for China-Emulator für die Entwicklung aus.
  5. Abbildung 1 : Beispiele für die chinesische Version des Wear OS-Emulators.

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
  • Google Play Store (für Geräte in China angepasst)
  • Pocketwatch
  • 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 ist es nicht erforderlich, dass die App einen app-spezifischen Bluetooth- und WLAN-Kanal öffnet.

Wenn eine App in China einen app-spezifischen Bluetooth- und WLAN-Kanal anfordert, schlägt die Anfrage im Hintergrund fehl. Stattdessen wird ein Dialogfeld angezeigt, in dem der Nutzer um Bestätigung gebeten wird. Wenn der Nutzer bestätigt, wird der Kanal geöffnet. Dies geschieht 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 sie eine System-App oder ein Geräte-Policy-Controller (Device Policy Controller, DPC) sein.

Berechtigungsüberprüfungsmodus

In China werden Wear OS for China-Geräte im Berechtigungsüberprüfungsmodus ausgeführt, der einige Einschränkungen für die Verwendung von Apps mit einem targetApiLevel unter 23 auferlegt. Beachten Sie die folgenden Einschränkungen:

  • Obwohl Berechtigungen bei der Installation erteilt werden, wird beim ersten Start einer App mit einem 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, z. B. Broadcast-Empfänger, Dienste und Aktivitäten reagieren erst auf entsprechende Ereignisse, wenn die App zum ersten Mal verwendet wird.

Daher empfehlen wir, targetApiLevel 23 oder höher und die Best Practices für App-Berechtigungen zu übernehmen.

Andere Google Play-Dienste-APIs verwenden

Wenn Ihre App andere Google Play-Dienste-APIs als die Wearable API verwendet, muss sie zur Laufzeit prüfen, ob diese APIs verfügbar sind, und entsprechend reagieren. Es gibt zwei Möglichkeiten, die Verfügbarkeit von Google Play-Dienste-APIs zu prüfen:

  1. Verwenden Sie eine separate GoogleApiClient-Instanz, um eine Verbindung zu anderen APIs herzustellen. Diese Schnittstelle enthält Callbacks, um Ihre App über den Erfolg oder Fehler der Verbindung zu informieren. Bei einer fehlgeschlagenen Verbindung zeigt ConnectionResult API_UNAVAILABLE an. Informationen zum Beheben von Verbindungsfehlern finden Sie unter Auf Google APIs zugreifen.
  2. Verwenden Sie die addApiIfAvailable() Methode von GoogleApiClient.Builder, um eine Verbindung zu den erforderlichen APIs herzustellen. Nachdem der onConnected() Callback ausgelöst wurde, verwenden Sie die hasConnectedApi() Methode, um sicherzustellen, dass jede der angeforderten APIs korrekt verbunden ist.

Apps in China vertreiben

Um Nutzer von Wear OS for China effektiv zu erreichen, können Sie Ihre Apps über Wear OS-App-Stores von Drittanbietern vertreiben, z. B.: