Tworząc aplikacje na Wear OS w Chinach, musisz uwzględnić telefony bez zainstalowanych Usług Google Play. Na tej stronie znajdziesz typowe zmiany, które programiści mogą musieć wprowadzić na potrzeby rynku chińskiego.
Korzystanie z 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 Data Layer API. Jeśli korzystasz z tych interfejsów API, musisz używać 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 korzystasz z 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 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 zaimplementujesz uwierzytelnianie, sprawdź przypadki użycia, aby określić, 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. Wymaga to użycia przepływu 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 Wearable Support Library.
Więcej informacji znajdziesz w przykładzie Wear OS OAuth 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 przypadku
innych krajów. 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, minuty aktywności i punkty 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. Podaj jedną z tych informacji, obie lub żadną. |
| Ustaw licznik | 设置一个三分钟的倒计时 | Działanie
Dodatkowe informacje
|
| Uruchom stoper | 开始计时 | Działanie
|
| Rozpoczęcie lub zatrzymanie jazdy rowerem | 开始骑车 | 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ć dotychczasowych 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 Androida Studio w wersji 3.0 i nowszej.
Aby przetestować aplikacje w chińskiej wersji emulatora:
- 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 zawiera kilka preinstalowanych aplikacji:
- Dźwięki otoczenia
- Kontakty
- Pismo odręczne Google
- Usługi Google Play
- Funkcje 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 zażąda w Chinach 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ł zostanie otwarty. Dzieje się tak za każdym
razem, a nie tylko przy pierwszym użyciu. BluetoothAdapter.enable() lub
WifiManager.setEnabled(true) jest
wywoływana.
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.
Korzystanie z 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 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 z aplikacjami na Wear OS innych firm, takich jak:
- Galaxy Store na urządzenia Samsung
- Xiaomi Store na urządzenia Xiaomi
- Mobvoi na wszystkie inne urządzenia