Wear OS-Apps für China erstellen

Beim Erstellen von Wear OS-Apps für China musst du auch Smartphones berücksichtigen, auf denen die Google Play-Dienste nicht vorinstalliert sind. Diese Seite enthält häufige Änderungen, die Entwickler möglicherweise für den chinesischen Markt übernehmen 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, um eine größere Auswahl von 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 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:

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 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 muss Version 10.2.0 der Clientbibliothek verwendet werden.

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

Fügen Sie der Datei build.gradle des mobilen Moduls die folgende Zeile hinzu. Ersetzen Sie die Abhängigkeit der Google Play-Dienste durch einen Verweis auf 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. Beispielsweise ist bei einer Anwendung, die die Wettervorhersage liefert, wahrscheinlich keine Anmeldung und somit keine Authentifizierung erforderlich.

Wenn eine Authentifizierung erforderlich ist, empfehlen wir die Verwendung der AndroidX-OAuth-Bibliothek. Dafür ist die Autorisierungscode-Erteilung mit PKCE erforderlich. Du kannst auch eine der anderen Methoden verwenden, die unter Authentifizierung auf Wearables beschrieben werden. Die Verwendung der Wearable-Supportbibliothek wird nicht empfohlen.

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

Überbrückte Benachrichtigungen

Überbrückte Benachrichtigungen werden in China nicht unterstützt. Smartphone-Benachrichtigungen werden nur dann mit Wear OS verbunden, 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, so wie Sie es auch im 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. Bei Verwendung der Funktion „FLP“ wird auch die Akkuoptimierung hinzugefügt, die in die Wear OS-Plattform integriert ist.

Berücksichtige 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. Achten Sie darauf, die Koordinatensysteme gegebenenfalls umzuwandeln.

Google Fit-Support

Die Google Fit-Funktionen für Schrittzähler, Aktivitätsminuten und Kardiopunkte werden in China unterstützt und bieten einen Verlauf von bis zu 7 Tagen. Sie können darauf zugreifen, ohne Nutzeranmeldedaten anzugeben.

Unterstützung für Sprachbedienung

Die Wear OS-Plattform bietet verschiedene 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 kann die beste Aktivität zuerst auswählen.

Wenn Nutzer einen Sprachbefehl sagen, kann Ihre App nach dem Intent filtern, der 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 unbedingt finish() auf, um den visuellen Hinweis zu entfernen.

Die folgenden Sprach-Intents werden von der Wear OS-Plattform unterstützt:

Kategorie 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

Weitere Funktionen

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, beide oder keine dieser Extras an.

Timer stellen Aktion

android.intent.action.SET_TIMER

Weitere Funktionen

android.provider.AlarmClock.EXTRA_LENGTH: eine Ganzzahl im Bereich von 1 bis 86.400 (die Anzahl der Sekunden in 24 Stunden), die für die Dauer des Timers steht

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 Start und CompletedActionStatus beim Anhalten

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 vorhandene allgemeine Android-Intents verwenden, um gegebenenfalls bestimmte Verhaltensweisen auszulösen.

Emulator-Unterstützung

Sie können zum Testen Ihrer Apps die chinesische Version des Wear OS-Emulator-Images verwenden. Dies wird von Android Studio 3.0 und höher unterstützt.

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

  1. Android-Emulator installieren
  2. Laden Sie die Wear OS for China-Images aus dem SDK-Manager herunter. Verwende 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 starten

Wear OS leitet Netzwerkanfragen automatisch weiter. In den meisten Fällen muss die App keinen appspezifischen Bluetooth- oder 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 der Nutzer in einem Dialogfeld um Bestätigung gebeten. Wenn der Nutzer dies bestätigt, wird der Kanal geöffnet. Dies 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.

Berechtigungsprüfungsmodus

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. Überprüfen 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.
  • App-Komponenten wie Übertragungsempfä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 für Google Play-Dienste verwenden

Wenn deine App andere Google Play-Dienste APIs als die Wearable API verwendet, muss deine App prüfen, ob diese APIs während der Laufzeit verwendet werden können, 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 Callbacks, mit denen die App über den Erfolg oder Fehler der Verbindung informiert wird. 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. Nachdem der Callback onConnected() ausgelöst wurde, verwende die Methode hasConnectedApi(), um dafür zu sorgen, dass jede der angeforderten APIs korrekt verbunden ist.

Apps in China vertreiben

Damit Sie Nutzer von Wear OS in China effektiv erreichen, können Sie Apps über Wear OS-App-Shops von Drittanbietern wie die folgenden bereitstellen: