Wear OS-Apps für China erstellen

Beim Erstellen von Wear OS-Apps für China musst du auch Mobilgeräte ohne Google Play berücksichtigen -Dienste vorinstalliert. Diese Seite enthält häufige Änderungen, die Entwickler möglicherweise für auf dem chinesischen Markt.

Die richtige Version der Google Play-Dienste verwenden

Version 10.2.0 der Google Play-Dienste bietet weltweit Unterstützung für 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:Die Google Play-Dienste enthalten zwar APIs für Wear OS-Apps sollten Wear OS-Apps für China weiterhin APIs zu GoogleApiClient verwenden; Siehe Auf die Wearable API zugreifen

Fused Location Provider API

Wenn Sie die Fused Location Provider API verwenden, fügen Sie die folgende Abhängigkeit in der Datei build.gradle Ihres Wear OS-Moduls:

Cool

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. In der Zeile muss die Version 10.2.0 von der Clientbibliothek.

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 build.gradle-Datei Ihres mobilen Moduls die folgende Zeile hinzu: Ersetzen Sie die Abhängigkeit der Google Play-Dienste 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 eine Authentifizierung tatsächlich erforderlich ist. Bei einer App, die die Wettervorhersage liefert, werden wahrscheinlich keine und damit zur Authentifizierung.

Wenn eine Authentifizierung erforderlich ist, empfehlen wir die Verwendung der AndroidX Oauth-Bibliothek. Dazu müssen die Ablauf Autorisierungscode mit PKCE gewähren. 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 in der OAuth-Beispiel für Wear OS auf GitHub.

Überbrückte Benachrichtigungen

Überbrückte Benachrichtigungen 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. So werden in Ihrer App unabhängig von der Smartwatch-Hardware und der Smartphone-Plattform, mit der die Smartwatch gekoppelt ist, die besten Informationen berücksichtigt. Wenn Sie die FLP-Funktion verwenden, wird auch eine Akkuoptimierung hinzugefügt, die in die Wear OS-Plattform integriert ist.

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 entsprechend dem WGS84-Standard. Konvertieren Sie gegebenenfalls die Koordinatensysteme.

Google Fit-Support

von Google Fit Schrittzähler, Bewegungsminuten und Kardiopunkte werden in China unterstützt, wobei bis zu 7 Tage Geschichte. 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 Nutzende sagen, was sie tun möchten, und das System die beste Aktivität zu ermitteln.

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
Autoanruf Aktion

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

Extra

to: das erkannte Ziel

Der Zusatz 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. Sie können entweder, beide oder keine dieser zusätzlichen Informationen angeben.

Timer einstellen Aktion

android.intent.action.SET_TIMER

Extras

android.provider.AlarmClock.EXTRA_LENGTH: eine Ganzzahl zwischen 1 und 86.400 (die Anzahl der Sekunden in 24 Stunden), die die Länge des Timers angibt

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

Weitere Funktionen

actionStatus: ein String mit dem Wert ActiveActionStatus beim Start und CompletedActionStatus beim Anhalten

Lauf starten oder beenden 开始跑步 Aktion

vnd.google.fitness.TRACK

MIME-Typ

vnd.google.fitness.activity/running

Weitere Funktionen

actionStatus: ein String mit dem Wert ActiveActionStatus beim Start und CompletedActionStatus beim Anhalten

Training starten oder beenden 开始锻炼 Aktion

vnd.google.fitness.TRACK

MIME-Typ

vnd.google.fitness.activity/other

Weitere Funktionen

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,length?q=融科资讯中

Der Sprachassistent kann auch Häufige Android-Intents bestimmte Verhaltensweisen auslö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:

  1. Installieren Sie den Android-Emulator.
  2. Lade die Wear OS for China-Images im SDK-Manager herunter. Verwenden Sie die Version für Wear OS 3.5 (API-Level 30).
  3. Wähle beim Erstellen eines AVD-Profils das Wear OS for China-Image aus.
  4. Führen Sie zur Entwicklung den Emulator für Wear OS for China 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
  • 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 ist es nicht erforderlich, dass die App einen appspezifischen Bluetooth- und WLAN-Kanal öffnet.

Wenn eine App einen app-spezifischen Bluetooth- und WLAN-Kanal in China anfordert, und schlägt stumm fehl. Stattdessen wird ein Dialogfeld der Nutzer um Bestätigung bittet. Wenn der Nutzer dies bestätigt, wird der Kanal geöffnet. Das passiert jeweils und nicht nur bei der ersten Verwendung. BluetoothAdapter.enable() oder WifiManager.setEnabled(true) ist aufgerufen.

Hinweis : Bei einer Ausrichtung auf eine App Android 10 (API-Level 29) oder höher WifiManager.setEnabled() muss es sich um eine System-App oder eine Device Policy Controller (DPC)

Modus zur Überprüfung von Berechtigungen

In China werden Wear OS für China-Geräte im Modus zur Berechtigungsprüfung ausgeführt. Dies schränkt die Verwendung von Apps mit einer targetApiLevel unter 23 ein. Beachten Sie die folgenden Limits:

  • Auch wenn Berechtigungen zum Zeitpunkt der Installation gewährt werden, gilt: Wenn eine App mit einer targetApiLevel weniger als 23 Starts erreicht hat, wird ein Dialogfeld angezeigt, in dem Sie gefragt werden, Nutzer, um die Berechtigungen zu bestätigen für diese App.
  • Komponenten der App, z. B. Übertragungsempfänger, Dienste und Aktivitäten nicht auf entsprechende Ereignisse reagieren, bevor die App zum ersten Mal verwendet wird.

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

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:

  1. Verwenden Sie eine separate GoogleApiClient-Instanz, um eine Verbindung zu anderen APIs herzustellen. Diese Schnittstelle enthält Rückrufe weisen Sie Ihre App darauf hin: Erfolg oder Fehler der Verbindung. Wenn die Verbindung fehlschlägt, zeigt ConnectionResult API_UNAVAILABLE an. 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. Nach dem onConnected()-Callback ausgelöst wird, verwenden Sie die hasConnectedApi() können Sie prüfen, ob die angeforderten APIs korrekt verbunden sind.

Apps in China vertreiben

Wenn Sie Nutzer von Wear OS in China effektiv erreichen möchten, können Sie Ihre App über Wear OS-App-Shops von Drittanbietern vertreiben, z. B.: