Tworząc aplikacje na Wear OS w Chinach, musisz uwzględnić telefony bez preinstalowanych usług Google Play. Na tej stronie znajdziesz typowe zmiany, które programiści 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 zapewniają globalną obsługę interfejsu Fused Location Provider API i interfejsu 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 korzystać z interfejsów API związanych z GoogleApiClient. Więcej informacji znajdziesz w artykule
Dostęp do Wearable API.
Fused Location Provider API
Jeśli używasz interfejsu API dostawcy uśrednionej lokalizacji, dodaj tę zależność do pliku build.gradle modułu Wear OS:
Dynamiczny
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
Jeśli Twoja aplikacja korzysta z interfejsu Data Layer API, musisz dodać ten wiersz do
build.gradle pliku modułu Wear OS. Ten wiersz wymaga użycia biblioteki klienta w wersji 10.2.0.
Dynamiczny
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 modułu mobilnego. Zastąp zależność od usług Google Play odwołaniem do wersji
10.2.0.
Dynamiczny
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, która wyświetla prognozę pogody, logowanie, a tym samym uwierzytelnianie, prawdopodobnie nie jest potrzebne.
Jeśli uwierzytelnianie jest wymagane, zalecamy użycie biblioteki AndroidX OAuth 2.0. Wymaga to użycia przyznawania kodu autoryzacji z PKCE przepływu. Możesz też użyć jednej z innych metod opisanych w artykule Uwierzytelnianie na urządzeniach do noszenia. Nie zalecamy używania biblioteki Wearable Support Library.
Więcej informacji znajdziesz w przykładzie Wear OS OAuth Sample w GitHubie.
Powiadomienia przekazywane
Powiadomienia przekazywane nie są obsługiwane w Chinach. Powiadomienia z telefonu są przekazywane do Wear OS tylko wtedy, gdy urządzenie z Wear OS jest połączone z telefonem przez Bluetooth.
Zgodność lokalizacji i współrzędnych mapy
Aby wykryć lokalizację użytkownika w Chinach, użyj
FusedLocationProvider (FLP), tak jak w innych krajach. Dzięki temu Twoja aplikacja będzie uwzględniać najlepsze informacje
niezależnie od sprzętu zegarka i platformy telefonu, z którym jest sparowany.
Użycie FLP zapewnia też optymalizację baterii wbudowaną w platformę Wear OS.
Integrując FusedLocationProvider z pakietami SDK map innych firm,
weź pod uwagę zgodność współrzędnych między dostawcami.
FusedLocationProvider podaje lokalizację zgodnie ze standardem
WGS84.
W razie potrzeby przekonwertuj systemy współrzędnych.
Obsługa Google Fit
W Chinach obsługiwane są liczniki kroków, minut aktywności i punktów kardio w 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ą powiedzieć, co chcą zrobić, a system określi najlepszą aktywność do rozpoczęcia.
Gdy użytkownicy wypowiadają komendę głosową, Twoja aplikacja może filtrować intencję, która jest wywoływana, aby rozpocząć aktywność. Aby uruchomić usługę w tle, wyświetl aktywność jako wskazówkę wizualną i uruchom usługę w aktywności. Aby pozbyć się wskazówki wizualnej, wywołaj
finish().
Oto lista intencji głosowych obsługiwanych przez platformę Wear OS:
| Kategoria | Przykład | Specyfikacja intencji |
| Zamawianie taksówki | 打车去三里屯 | Działanie
Dodatkowe informacje
Dodatkowe informacje są opcjonalne. |
| Ustaw alarm | 设置一个明早七点的闹钟 | Działanie
Dodatkowe informacje
Te dodatkowe informacje są opcjonalne. Możesz podać te dodatkowe informacje, oba lub żadne z nich. |
| Ustaw licznik | 设置一个三分钟的倒计时 | Działanie
Dodatkowe informacje
|
| Uruchom stoper | 开始计时 | Działanie
|
| Rozpoczęcie lub zatrzymanie jazdy na rowerze | 开始骑车 | Działanie
Typ MIME
Dodatkowe informacje
|
| Rozpoczęcie lub zatrzymanie biegu | 开始跑步 | Działanie
Typ MIME
Dodatkowe informacje
|
| Rozpoczęcie lub zatrzymanie treningu | 开始锻炼 | Działanie
Typ MIME
Dodatkowe informacje
|
| Pokaż tętno | 查看心率 | Działanie
Typ MIME
|
| Pokaż liczbę kroków | 查看步数 | Działanie
Typ MIME
|
| Nawigacja | 导航去三里屯 | Działanie
Dane geo:latitude,longitude?q=融科资讯中心 |
Asystent głosowy może też używać istniejących typowych intencji Androida aby wywoływać określone zachowania, jeśli jest to możliwe.
Obsługa emulatora
Do testowania aplikacji możesz użyć chińskiej wersji obrazu emulatora Wear OS. Jest ona obsługiwana przez Android Studio w wersji 3.0 i nowszej.
Aby testować aplikacje w chińskiej wersji emulatora, wykonaj te czynności:
- Zainstaluj Android Emulator.
- Pobierz obrazy Wear OS dla Chin z menedżera SDK. Użyj wersji dla Wear OS 3.5 (poziom API 30).
- Podczas tworzenia profilu AVD wybierz obraz Wear OS dla Chin.
- Uruchom emulator Wear OS dla Chin na potrzeby programowania.
Rysunek 1. Przykłady chińskiej wersji emulatora Wear OS.
Ta wersja emulatora Wear OS ma kilka preinstalowanych aplikacji:
- Dźwięki otoczenia
- Kontakty
- Klawiatura Google – pismo odręczne
- Usługi Google Play
- Usługi dotyczące zdrowia na Wear OS
- Rozpoznawanie słów kluczowych na urządzeniach LE
- Pinyin
- Sklep Play (dostosowany do urządzeń w Chinach)
- Pocketwatch
- TalkBack
- Tarcze zegarków (wersje analogowe i cyfrowe)
- Usługi podstawowe Wear
Inicjowanie kanału Bluetooth i Wi-Fi specyficznego dla aplikacji
Wear OS automatycznie kieruje żądania sieciowe. W większości przypadków aplikacja nie musi otwierać kanału Bluetooth i Wi-Fi specyficznego dla aplikacji.
Jeśli aplikacja w Chinach zażąda kanału Bluetooth i Wi-Fi specyficznego dla aplikacji, żądanie
zakończy się niepowodzeniem. Zamiast tego wyświetli się okno z prośbą o potwierdzenie. Jeśli użytkownik potwierdzi, kanał się otworzy. Dzieje się tak za każdym
razem, a nie tylko przy pierwszym użyciu. BluetoothAdapter.enable() lub
WifiManager.setEnabled(true) jest
wywoływane.
Uwaga: aby aplikacja kierowana na
Androida 10 (poziom API 29) lub nowszego mogła wywołać
WifiManager.setEnabled(), musi być aplikacją systemową lub
kontrolerem zasad dotyczących urządzeń (DPC).
Tryb sprawdzania uprawnień
W Chinach urządzenia z Wear OS dla Chin działają w trybie sprawdzania uprawnień, który
nakłada pewne ograniczenia na sposób korzystania z aplikacji z targetApiLevel niższym niż 23. Zapoznaj się z tymi ograniczeniami:
- Chociaż uprawnienia są przyznawane podczas instalacji, gdy aplikacja z
targetApiLevelniższym niż 23 zostanie uruchomiona po raz pierwszy, pojawi się okno z prośbą o potwierdzenie uprawnień dla tej aplikacji. - Komponenty aplikacji, takie jak odbiorniki transmisji, usługi i aktywności nie reagują na odpowiednie zdarzenia, dopóki aplikacja nie zostanie użyta po raz pierwszy.
Dlatego zalecamy używanie targetApiLevel 23 lub nowszego
oraz stosowanie
sprawdzonych metod dotyczących uprawnień aplikacji.
Używanie innych interfejsów API usług Google Play
Jeśli Twoja aplikacja korzysta z interfejsów API usług Google Play innych niż Wearable API, musi sprawdzać, czy te interfejsy API są dostępne do użycia podczas działania, i odpowiednio reagować. Istnieją 2 sposoby sprawdzenia dostępności interfejsów API usług Google Play:
- Użyj osobnej instancji
GoogleApiClientdo łączenia się z innymi interfejsami API. Ten interfejs zawiera wywołania zwrotne, które informują aplikację o powodzeniu lub niepowodzeniu połączenia. W przypadku nieudanego połączeniaConnectionResultpokazujeAPI_UNAVAILABLE. Aby dowiedzieć się, jak radzić sobie z nieudanymi połączeniami, przeczytaj artykuł Dostęp do interfejsów API Google. - Aby połączyć się z wymaganymi interfejsami API, użyj metody
addApiIfAvailable()klasyGoogleApiClient.Builder. Po wywołaniu zwrotnymonConnected()użyj metodyhasConnectedApi(), aby upewnić się, że każdy z żądanych interfejsów API jest prawidłowo połączony.
Rozpowszechnianie aplikacji w Chinach
Aby skutecznie docierać do użytkowników Wear OS dla Chin, możesz rozpowszechniać aplikacje za pomocą sklepów innych firm z aplikacjami na Wear OS, takich jak:
- Galaxy Store na urządzenia Samsung
- Xiaomi Store na urządzenia Xiaomi
- Mobvoi na wszystkie inne urządzenia