Wear OS-Apps für China erstellen

Beim Erstellen von Wear OS-Apps für China müssen Mobilgeräte berücksichtigt werden, auf denen Google Play-Dienste nicht vorinstalliert sind. Diese Seite enthält häufige Änderungen, die Entwickler für den chinesischen Markt möglicherweise umsetzen müssen.

Die richtige Version der Google Play-Dienste verwenden

Version 10.2.0 der Google Play-Dienste bietet weltweite Unterstützung für die Fused Location Provider API und die Data Layer API. Du musst diese Version der Google Play-Dienste verwenden, wenn du diese APIs nutzt, damit eine breitere Palette von Wear OS-Geräten in China unterstützt wird. 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 für GoogleApiClient verwenden. Weitere Informationen findest du 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:

Groovig

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 in deiner App die Data Layer API verwendet wird, musst du die folgende Zeile in die Datei build.gradle deines Wear OS-Moduls einfügen. Die Zeile erfordert Version 10.2.0 der Clientbibliothek.

Groovig

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 die folgende Zeile in die Datei build.gradle Ihres mobilen Moduls ein. Ersetzen Sie die Abhängigkeit der Google Play-Dienste durch einen Verweis auf die Version 10.2.0.

Groovig

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, sollten Sie Ihre Anwendungsfälle prüfen, um festzustellen, ob eine Authentifizierung wirklich erforderlich ist. Für eine App, die die Wettervorhersage bereitstellt, ist beispielsweise wahrscheinlich keine Anmeldung und daher keine Authentifizierung erforderlich.

Wenn eine Authentifizierung erforderlich ist, empfehlen wir die Verwendung der AndroidX OAuth-Bibliothek. Dies erfordert die Verwendung des Ablaufs Autorisierungscode mit PKCE. Du kannst auch eine der anderen Methoden verwenden, die unter Authentifizierung auf Wearables beschrieben sind. Die Verwendung der Wearable-Supportbibliothek wird nicht empfohlen.

Weitere Informationen findest du im Wear OS-OAuth-Beispiel auf GitHub.

Überbrückte Benachrichtigungen

Überbrückte Benachrichtigungen werden in China nicht unterstützt. Smartphone-Benachrichtigungen werden nur dann mit Wear OS überbrückt, wenn das Wear OS-Gerät über Bluetooth mit dem Smartphone verbunden ist.

Kompatibilität von Standort- und Kartenkoordinaten

Verwende wie im Rest der Welt FusedLocationProvider (FLP), um den Standort des Nutzers in China zu ermitteln. Dadurch werden in deiner App die besten Informationen berücksichtigt, unabhängig von der Smartwatch-Hardware und der Smartphone-Plattform, mit der die Smartwatch gekoppelt ist. Mit dem FLP wird auch der Akku optimiert, der in die Wear OS-Plattform integriert ist.

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

Google Fit-Support

Der akkumulierte Schrittzähler, Aktivitätsminuten und Herzfrequenzpunkte von Google Fit werden in China mit einem Videoverlauf von bis zu sieben Tagen unterstützt. Sie können darauf zugreifen, ohne Nutzeranmeldedaten anzugeben.

Unterstützung für Sprachbedienung

Die Wear OS-Plattform bietet mehrere sprachbezogene Intents, die auf Nutzeraktionen wie _„Herzfrequenz anzeigen“_ oder _„Alarm einstellen“_ basieren. Auf diese Weise können Nutzer sagen, was sie tun möchten, und das System kann die beste Aktivität für den Anfang ermitteln.

Wenn Nutzer eine Sprachbedienung verwenden, kann Ihre App nach dem Intent filtern, der zum Starten einer Aktivität ausgelöst wird. 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 den visuellen Hinweis zu entfernen.

Im Folgenden finden Sie eine Liste der Sprach-Intents, die von der Wear OS-Plattform unterstützt werden:

Kategorie Beispiel Intent-Spezifikation
Autoanrufe 打车去용里屯 Aktion

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

Zusätzliche

to: das erkannte Ziel

Die zusätzlichen Kosten sind 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 eines dieser Extras, beide oder keines dieser Extras an.

Timer stellen Aktion

android.intent.action.SET_TIMER

Extras

android.provider.AlarmClock.EXTRA_LENGTH: eine Ganzzahl im Bereich von 1 bis 86.400 (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

Lauf starten oder beenden 开始跑步 Aktion

vnd.google.fitness.TRACK

MIME-Typ

vnd.google.fitness.activity/running

Extras

actionStatus: String mit dem Wert ActiveActionStatus zu Beginn und CompletedActionStatus beim Beenden

Training starten oder beenden 开始锻炼 Aktion

vnd.google.fitness.TRACK

MIME-Typ

vnd.google.fitness.activity/other

Extras

actionStatus: String mit dem Wert ActiveActionStatus zu Beginn 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,length?q=融科资讯

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

Emulator-Unterstützung

Sie können Ihre Apps mit der chinesischen Version des Wear OS-Emulator-Images testen. Dies wird in Android Studio 3.0 und höher unterstützt.

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

  1. Android-Emulator installieren
  2. Lade die Wear OS für China-Images aus dem 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ühre den Emulator für Wear OS für China für die Entwicklung aus.
  5. Abbildung 1: Beispiele für die chinesische Version des Wear OS-Emulators.

In dieser Version des Wear OS-Emulators sind mehrere Apps vorinstalliert:

  • Umgebungsmodus
  • Kontakte
  • Google Handschrifteingabe
  • Google Play-Dienste
  • Gesundheitsdienste für Wear OS
  • Hotword-Erkennung für LE-Geräte
  • Pinyin
  • Play Store (für Geräte in China angepasst)
  • Taschenuhr
  • TalkBack
  • Zifferblätter (sowohl analoge als auch digitale Versionen)
  • Wear-Hauptdienste

App-spezifischen Bluetooth- und WLAN-Kanal starten

Wear OS leitet Netzwerkanfragen automatisch weiter. In den meisten Fällen muss die App nicht einen App-spezifischen Bluetooth- und WLAN-Kanal öffnen.

Wenn eine App einen app-spezifischen Bluetooth- und WLAN-Kanal in China anfordert, schlägt die Anfrage ohne Meldung fehl. Stattdessen wird ein Dialogfeld angezeigt, in dem der Nutzer um Bestätigung gebeten wird. Wenn der Nutzer dies bestätigt, wird der Kanal geöffnet. Das passiert jedes Mal, nicht nur bei der ersten Verwendung. BluetoothAdapter.enable() oder WifiManager.setEnabled(true) aufgerufen wird.

Hinweis : Damit WifiManager.setEnabled() für eine App, die auf Android 10 (API-Level 29) oder höher ausgerichtet ist, aufgerufen werden kann, muss es eine System-App oder ein Device Policy Controller (DPC) sein.

Modus zur Berechtigungsprüfung

In China werden Wear OS-Geräte für China im Berechtigungsüberprüfungsmodus ausgeführt. Dadurch gibt es einige Einschränkungen für die Nutzung von Apps mit einem targetApiLevel unter 23. Überprüfen Sie die folgenden Limits:

  • Obwohl Berechtigungen bei der Installation gewährt werden, wird beim ersten Start einer App mit einem Wert für targetApiLevel unter 23 ein Dialogfeld angezeigt, in dem der Nutzer aufgefordert wird, die Berechtigungen für diese App zu bestätigen.
  • Komponenten in der Anwendung wie Übertragungsempfänger, Dienste und Aktivitäten reagieren nicht auf entsprechende Ereignisse, bevor die Anwendung zum ersten Mal verwendet wird.

Wir empfehlen daher, targetApiLevel 23 oder höher zu verwenden und die Best Practices für App-Berechtigungen zu befolgen.

Andere APIs für Google Play-Dienste verwenden

Wenn deine App andere Google Play-Dienste-APIs als die Wearable API 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 Service APIs zu prüfen:

  1. Verwenden Sie eine separate GoogleApiClient-Instanz, um eine Verbindung zu anderen APIs herzustellen. Diese Schnittstelle enthält Callbacks, die deine App auf Erfolg oder Fehler der Verbindung hinweisen. Bei einer fehlgeschlagenen Verbindung wird für ConnectionResult API_UNAVAILABLE angezeigt. Informationen zum Umgang mit Verbindungsfehlern finden Sie unter Auf Google APIs zugreifen.
  2. Verwenden Sie die Methode addApiIfAvailable() von GoogleApiClient.Builder, um eine Verbindung zu den erforderlichen APIs herzustellen. Nachdem der onConnected()-Callback ausgelöst wurde, kannst du mit der Methode hasConnectedApi() dafür sorgen, dass jede der angeforderten APIs korrekt verbunden ist.

Apps in China vertreiben

Damit du Nutzer von Wear OS in China effektiv erreichen kannst, kannst du den Vertrieb über Wear OS-App-Shops von Drittanbietern wie die folgenden anbieten: