Tworzenie aplikacji na Wear OS dla Chin

Podczas tworzenia aplikacji na Wear OS na rynek chiński musisz uwzględnić telefony bez wstępnie zainstalowanych usług Google Play. Na tej stronie znajdziesz informacje o najczęstszych zmianach, które deweloperzy mogą wprowadzić na potrzeby rynku chińskiego.

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

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

Uwaga: chociaż usługi Google Play zawierają interfejsy API dla aplikacji na Wear OS, aplikacje na Wear OS w Chinach powinny nadal używać interfejsów API związanych z GoogleApiClient. Zapoznaj się z artykułem Uzyskiwanie dostępu do interfejsu Wearable API.

Fused Location Provider API

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

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

Interfejs API warstwy danych

Jeśli Twoja aplikacja korzysta z interfejsu Data Layer API, musisz dodać ten wiersz do pliku build.gradle w module na Wear OS. Ten wiersz wymaga użycia biblioteki klienta w wersji 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")
    ...
}

Dodaj ten wiersz do pliku build.gradle w module mobilnym. Zastąp zależność od Usług Google Play odwołaniem do wersji 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")
}

Uwierzytelnianie

Zanim wdrożysz uwierzytelnianie, sprawdź, czy jest ono rzeczywiście potrzebne. Na przykład w przypadku aplikacji wyświetlającej prognozę pogody nie jest wymagane logowanie, a tym samym uwierzytelnianie.

Jeśli wymagasz uwierzytelniania, zalecamy użycie biblioteki AndroidX Oauth. Wymaga to użycia procesu przyznawania kodu autoryzacji z PKCE. Możesz też użyć jednej z innych metod opisanych w artykule Uwierzytelnianie na urządzeniach do noszenia. Nie zalecamy używania biblioteki obsługi urządzeń noszonych.

Więcej informacji znajdziesz na GitHubie w pliku przykładowego kodu OAuth na Wear OS.

Powiadomienia z innych aplikacji

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

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

Użyj FusedLocationProvider (FLP), aby wykryć lokalizację użytkownika w Chinach, tak jak w pozostałych częściach świata. Dzięki temu aplikacja będzie uwzględniać najlepsze informacje niezależnie od sprzętu zegarka i platformy telefonu, z którą jest sparowany. Korzystanie z FLP powoduje też włączenie optymalizacji baterii wbudowanej w platformę Wear OS.

Podczas integrowania FusedLocationProvider z zewnętrzymi pakietami SDK map należy wziąć pod uwagę zgodność współrzędnych między dostawcami. FusedLocationProvider raportuje lokalizację zgodnie ze standardem WGS84. Pamiętaj, aby odpowiednio przekształcić układy współrzędnych.

Zespół pomocy Google Fit

W Chinach dostępne są licznik kroków, minuty ruchu i punkty kardio z Google Fit, z historią do 7 dni. Możesz uzyskać do nich 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, takich jak _„Pokaż tętno”_ czy _„Ustaw alarm”_. Dzięki temu użytkownicy mogą określić, co chcą zrobić, a system może wybrać najlepszą aktywność do rozpoczęcia.

Gdy użytkownicy wypowiadają polecenie głosowe, aplikacja może odfiltrować intencję, która uruchamia daną aktywność. Aby uruchomić usługę w tle, wyświetl aktywność jako wizualny sygnał i uruchom usługę w ramach tej aktywności. Aby pozbyć się wizualnego sygnału, zadzwoń pod numer finish().

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

Kategoria Przykład Specyfikacja zamiaru
Zamawianie przejazdu 打车去三里屯 Działanie

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

Dodatkowe

to: rozpoznane miejsce docelowe

Dodatkowe informacje są opcjonalne.

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 wszystkie, niektóre lub żadne z tych dodatków.

Ustaw minutnik 设置一个三分钟的倒计时 Działanie

android.intent.action.SET_TIMER

Dodatki

android.provider.AlarmClock.EXTRA_LENGTH: liczba całkowita z zakresu 1–86 400 (liczba sekund w 24 godzinach) wskazująca długość działania minutnika.

Uruchom stoper 开始计时 Działanie

com.google.android.wearable.action.STOPWATCH

Rozpoczynanie i zatrzymywanie jazdy na rowerze 开始骑车 Działanie

vnd.google.fitness.TRACK

Typ MIME

vnd.google.fitness.activity/biking

Dodatki

actionStatus: ciąg znaków o wartości ActiveActionStatus na początku i CompletedActionStatus na końcu.

Rozpocznij lub zatrzymaj bieg 开始跑步 Działanie

vnd.google.fitness.TRACK

Typ MIME

vnd.google.fitness.activity/running

Dodatki

actionStatus: ciąg znaków o wartości ActiveActionStatus na początku i CompletedActionStatus na końcu.

Rozpocznij lub zatrzymaj trening 开始锻炼 Działanie

vnd.google.fitness.TRACK

Typ MIME

vnd.google.fitness.activity/other

Dodatki

actionStatus: ciąg znaków o wartości ActiveActionStatus na początku i CompletedActionStatus na końcu.

Wyświetlanie tętna 查看心率 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:latitude,longitude?q=融科资讯中心

Asystent głosowy może też używać istniejących intencji wspólnych Androida, aby wywoływać określone zachowania w odpowiednich sytuacjach.

Wsparcie dotyczące emulatora

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

Aby przetestować aplikacje na chińskiej wersji emulatora:

  1. Zainstaluj emulator Androida.
  2. Pobierz obrazy Wear OS dla Chin z Menedżera pakietu SDK. Użyj wersji na Wear OS 3.5 (poziom interfejsu API 30).
  3. Podczas tworzenia profilu AVD wybierz obraz Wear OS na rynek chiński.
  4. Uruchom emulator Wear OS dla Chin na potrzeby programowania.
  5. Rysunek 1. Przykłady chińskiej wersji emulatora Wear OS

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

  • Dźwięki otoczenia
  • kontakty,
  • Metoda wprowadzania tekstu odręcznego Google
  • Usługi Google Play
  • Usługi dotyczące zdrowia na Wear OS
  • Wykrywanie słów-kluczy na urządzeniach LE
  • Pinyin
  • Sklep Play (dostosowany do urządzeń w Chinach)
  • Zegarek
  • TalkBack
  • tarcze zegarka (zarówno analogowe, jak i cyfrowe);
  • Usługi podstawowe Wear

Inicjowanie kanału Bluetooth i Wi-Fi dla konkretnej aplikacji

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

Jeśli aplikacja poprosi o specyficzny dla niej kanał Bluetooth lub Wi-Fi w Chinach, żądanie zakończy się niepowodzeniem. Zamiast tego wyświetla się okno z prośbą o potwierdzenie. Jeśli użytkownik potwierdzi, kanał zostanie otwarty. Dzieje się tak za każdym razem, a nie tylko przy pierwszym użyciu. Wywołana jest funkcja BluetoothAdapter.enable() lub WifiManager.setEnabled(true).

Uwaga: aby aplikacja kierowana na Androida 10 (poziom interfejsu API 29) lub nowszego mogła wywołać funkcję WifiManager.setEnabled(), musi być aplikacją systemową lub kontrolerem zasad urządzenia (DPC).

Tryb sprawdzania uprawnień

W Chinach urządzenia z Wear OS działają w trybie sprawdzania uprawnień, który narzuca pewne ograniczenia dotyczące korzystania z aplikacji z targetApiLevel niższym niż 23. Zapoznaj się z tymi limitami:

  • Mimo że uprawnienia są przyznawane w momencie instalacji, gdy aplikacja z targetApiLevel niższym niż 23 po raz pierwszy się uruchamia, pojawia się okno z prośbą o potwierdzenie uprawnień dla tej aplikacji.
  • Składniki w aplikacji, takie jak odbiorniki transmisji, usługi i czynności, nie reagują na odpowiednie zdarzenia, dopóki aplikacja nie zostanie użyta po raz pierwszy.

Dlatego zalecamy używanie Androida targetApiLevel w wersji 23 lub nowszej oraz stosowanie sprawdzonych metod dotyczących uprawnień aplikacji.

Korzystanie z 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 zareagować. Dostępność interfejsów API usług Google Play można sprawdzić na 2 sposoby:

  1. Do łączenia się z innymi interfejsami API użyj osobnej instancji GoogleApiClient. Ten interfejs zawiera wywołania zwrotne, które powiadamią aplikację o  udanej lub nieudanej nawiązaniu połączenia. W przypadku nieudanego połączenia ConnectionResult wyświetla API_UNAVAILABLE. Aby dowiedzieć się, jak radzić sobie z błędami połączenia, przeczytaj artykuł Dostęp do interfejsów API Google.
  2. Użyj metody addApiIfAvailable() interfejsu GoogleApiClient.Builder, aby połączyć się z wymaganymi interfejsami API. Po wywołaniu funkcji zwrotnej onConnected() użyj metody hasConnectedApi(), aby upewnić się, że każdy z wymaganych interfejsów 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 sklepach zewnętrznych na Wear OS, takich jak: