Tworzenie aplikacji na Wear OS dla Chin

Podczas tworzenia aplikacji na Wear OS w Chinach musisz uwzględnić telefony bez zainstalowanych fabrycznie Usług Google Play. Ta strona zawiera typowe zmiany, których deweloperzy mogą chcieć wprowadzić na rynku chińskim.

Używanie prawidłowej wersji Usług Google Play

Usługi Google Play w wersji 10.2.0 zapewniają obsługę Fused Location Provider API i Data Layer API na całym świecie. Jeśli używasz tych interfejsów API, musisz używać tej wersji Usług Google Play, aby zapewnić obsługę szerszej gamy urządzeń z Wear OS w Chinach. W innych przypadkach zależność ta jest opcjonalna.

Uwaga: Usługi Google Play zawierają interfejsy API dla aplikacji na Wear OS, ale aplikacje na Wear OS w Chinach powinny nadal używać interfejsów API związanych z GoogleApiClient. Więcej informacji znajdziesz w sekcji Uzyskiwanie dostępu do interfejsu Wearable API.

Interfejs Fused Location Provider API

Jeśli używasz interfejsu Fused Location Provider API, dodaj tę zależność w pliku build.gradle modułu Wear OS:

Odlotowe

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

Interfejs API warstwy danych

Jeśli Twoja aplikacja używa interfejsu Data Layer API, musisz dodać poniższy wiersz do pliku build.gradle w module Wear OS. Ten wiersz wymaga użycia biblioteki klienta w wersji 10.2.0.

Odlotowe

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

Dodaj poniższy wiersz do pliku build.gradle modułu mobilnego. Zastąp zależność Usług Google Play odwołaniem do wersji 10.2.0.

Odlotowe

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

Uwierzytelnianie

Przed wdrożeniem uwierzytelniania sprawdź, czy uwierzytelnianie jest faktycznie potrzebne. Na przykład w aplikacji, która dostarcza prognozę pogody, prawdopodobnie nie ma potrzeby logowania się, a tym samym uwierzytelniania.

Jeśli wymagasz uwierzytelniania, zalecamy korzystanie z biblioteki OAuth na AndroidaX. Wymaga to użycia procesu udzielania kodu autoryzacji z PKCE. Możesz też użyć jednej z innych metod opisanych w sekcji Uwierzytelnianie na urządzeniach do noszenia. Nie zalecamy korzystania z Biblioteki pomocy do noszenia.

Więcej informacji znajdziesz w przykładzie protokołu OAuth dla Wear OS na GitHubie.

Powiadomienia mostkowane

Powiadomienia przekierowane nie są obsługiwane w Chinach. Powiadomienia z telefonu są połączone z Wear OS tylko wtedy, gdy urządzenie z Wear OS jest połączone z telefonem przez Bluetooth.

Zgodność lokalizacji i współrzędnych map

Użyj FusedLocationProvider (FLP), aby wykryć lokalizację użytkownika w Chinach, tak jak w przypadku reszty świata. Dzięki temu aplikacja będzie uwzględniać najdokładniejsze informacje niezależnie od sprzętu zegarka i platformy telefonu, z którą zegarek jest sparowany. Korzystanie z FLP zapewnia też optymalizację baterii wbudowaną w platformę Wear OS.

Podczas integracji FusedLocationProvider z pakietami SDK map innych firm musisz wziąć pod uwagę zgodność współrzędnych między dostawcami. FusedLocationProvider zgłasza lokalizację zgodnie ze standardem WGS84. Pamiętaj, by odpowiednio przekonwertować układy współrzędnych.

Pomoc Google Fit

Licznik kroków, minuty ruchu i punkty kardio w Google Fit jest obsługiwany w Chinach. Historia aktywności może wynosić maksymalnie 7 dni. Możesz uzyskać do niego dostęp bez podawania danych logowania użytkownika.

Obsługa komend głosowych

Platforma Wear OS udostępnia kilka intencji głosowych opartych na działaniach użytkownika, np. _„Pokaż tętno”_ lub _„Ustaw alarm”_. Dzięki temu użytkownicy mogą powiedzieć, co chcą zrobić, a system na początek wybierze najlepszą aktywność.

Gdy użytkownik wypowiada komendę głosową, aplikacja może filtrować wyniki według intencji, która jest uruchamiana w celu uruchomienia działania. Aby uruchomić usługę w tle, pokaż działanie jako sygnał wizualny i uruchom usługę w działaniu. Zadzwoń pod numer finish(), by pozbyć się sygnału wizualnego.

Oto lista intencji głosowych obsługiwanych przez platformę Wear OS:

Kategoria Przykład Specyfikacja intencji
Grad w samochodzie 打车去す里屯 Działanie

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

Dodatkowe

to: rozpoznane miejsce docelowe.

Opcja dodatkowa jest opcjonalna.

Ustaw alarm 设置用明早七点的闹钟 Działanie

android.intent.action.SET_ALARM

Dodatki

android.provider.AlarmClock.EXTRA_HOUR: liczba całkowita z godziną alarmu.

android.provider.AlarmClock.EXTRA_MINUTES: liczba całkowita z minutą alarmu.

Te dodatki są opcjonalne. Podaj jeden, oba lub żaden z tych dodatków.

Ustaw minutnik 设置型號分钟的倒计时 Działanie

android.intent.action.SET_TIMER

Dodatki

android.provider.AlarmClock.EXTRA_LENGTH: liczba całkowita z zakresu od 1 do 86 400 (liczba sekund w ciągu 24 godzin) oznaczająca długość licznika czasu.

Uruchom stoper 开始计时 Działanie

com.google.android.wearable.action.STOPWATCH

Rozpoczynanie i zatrzymywanie jazdy rowerem 开始骑车 Działanie

vnd.google.fitness.TRACK

Typ MIME

vnd.google.fitness.activity/biking

Dodatki

actionStatus: ciąg znaków z wartością ActiveActionStatus w przypadku rozpoczęcia i zatrzymywania CompletedActionStatus

Rozpocznij lub zatrzymaj bieg 开始跑步 Działanie

vnd.google.fitness.TRACK

Typ MIME

vnd.google.fitness.activity/running

Dodatki

actionStatus: ciąg znaków z wartością ActiveActionStatus w przypadku uruchamiania i CompletedActionStatus przy zatrzymaniu

Rozpoczynanie lub zatrzymywanie treningu 开始锻炼 Działanie

vnd.google.fitness.TRACK

Typ MIME

vnd.google.fitness.activity/other

Dodatki

actionStatus: ciąg znaków z wartością ActiveActionStatus w przypadku uruchamiania i CompletedActionStatus przy zatrzymaniu

Pokaż tętno 查看件率 Działanie

vnd.google.fitness.VIEW

Typ MIME

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

Pokaż liczbę kroków 查看步数 Działanie

vnd.google.fitness.VIEW

Typ MIME

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

Nawigacja 导航去用里屯 Działanie

android.intent.action.VIEW

Dane

geo:szerokość geograficzna,długość geograficzna?q=融科资讯中號

Asystent głosowy może też korzystać z istniejących typowych intencji Androida, aby w razie potrzeby wywoływać określone zachowania.

Obsługa emulatora

Do testowania aplikacji możesz użyć chińskiej wersji obrazu emulatora Wear OS. Ta funkcja jest obsługiwana przez Androida Studio w wersji 3.0 lub nowszej.

Aby przetestować aplikacje emulatora w chińskiej wersji, wykonaj te czynności:

  1. Zainstaluj emulator Androida.
  2. Pobierz obrazy z Wear OS (Chiny) z menedżera pakietów SDK. Użyj wersji dla Wear OS 3.5 (poziom interfejsu API 30).
  3. Podczas tworzenia profilu AVD wybierz obraz z Wear OS dla Chin.
  4. Na potrzeby programowania możesz uruchomić emulator Wear OS dla Chin.
  5. Rysunek 1. Przykłady chińskiej wersji emulatora Wear OS.

Ta wersja emulatora Wear OS ma kilka wstępnie zainstalowanych aplikacji:

  • Dźwięki otoczenia
  • Kontakty
  • Pismo odręczne Google
  • Usługi Google Play
  • Usługi zdrowotne na Wear OS
  • Rozpoznawanie słów-kluczy na urządzeniach LE
  • Pinyin
  • Sklep Play (dostosowane do urządzeń w Chinach)
  • Zegarek kieszonkowy
  • TalkBack
  • Tarcze (zarówno analogowe, jak i cyfrowe)
  • Usługi podstawowe Wear

Inicjowanie kanału Bluetooth i Wi-Fi dla określonej aplikacji

Wear OS automatycznie kieruje żądania sieciowe. W większości przypadków aplikacja nie musi otwierać powiązanego z nią kanału Bluetooth i Wi-Fi.

Jeśli aplikacja zażąda kanału Bluetooth i Wi-Fi związanego z aplikacją w Chinach, żądanie nie powiedzie się. Zamiast tego pojawi się okno z prośbą o potwierdzenie. Jeśli użytkownik wyrazi zgodę, kanał zostanie otwarty. Dzieje się tak za każdym razem, a nie tylko przy pierwszym użyciu. Wywoływana jest funkcja BluetoothAdapter.enable() lub WifiManager.setEnabled(true).

Uwaga: aby można było wywołać aplikację WifiManager.setEnabled() kierowaną na Androida 10 (poziom interfejsu API 29) lub nowszego, musi to być aplikacja systemowa lub kontroler zasad dotyczących urządzeń.

Tryb sprawdzania uprawnień

W Chinach urządzenia z Wear OS w Chinach działają w trybie sprawdzania uprawnień, który nakłada pewne ograniczenia na sposób korzystania z aplikacji z wartością targetApiLevel mniejszą niż 23. Sprawdź te limity:

  • Mimo że uprawnienia są przyznawane podczas instalacji, gdy po raz pierwszy zostanie uruchomiona aplikacja z wartością targetApiLevel mniejszą niż 23, pojawi się okno z prośbą o potwierdzenie uprawnień.
  • Komponenty aplikacji, takie jak odbiorniki, usługi i działania, nie reagują na odpowiednie zdarzenia przed pierwszym użyciem aplikacji.

Dlatego zalecamy korzystanie z targetApiLevel w wersji 23 lub nowszej i przestrzeganie sprawdzonych metod dotyczących uprawnień aplikacji.

Używanie innych interfejsów API Usług Google Play

Jeśli aplikacja korzysta z interfejsów API Usług Google Play innych niż Wearable API, musi sprawdzić, czy te interfejsy API są dostępne do użycia w czasie działania, i odpowiednio na nie reagować. Dostępność interfejsów API usługi Google Play możesz sprawdzić na 2 sposoby:

  1. Użyj oddzielnej instancji GoogleApiClient do łączenia się z innymi interfejsami API. Ten interfejs zawiera wywołania zwrotne ostrzegające aplikację o udanej lub niepowodzeniu połączenia. W przypadku nieudanego połączenia ConnectionResult pokazuje API_UNAVAILABLE. Aby dowiedzieć się, jak postępować w przypadku błędów połączeń, przeczytaj artykuł o uzyskiwaniu dostępu do interfejsów API Google.
  2. Użyj metody addApiIfAvailable() GoogleApiClient.Builder, aby połączyć się z wymaganymi interfejsami API. Po uruchomieniu wywołania zwrotnego onConnected() użyj metody hasConnectedApi(), aby mieć pewność, że każdy żądany interfejs API jest prawidłowo połączony.

Dystrybucja aplikacji w Chinach

Aby skutecznie docierać do użytkowników Wear OS w Chinach, możesz rozpowszechniać aplikacje w zewnętrznych sklepach z aplikacjami na Wear OS, takich jak: