Tworzenie aplikacji na Wear OS dla Chin

Podczas tworzenia aplikacji na Wear OS w Chinach musisz uwzględnić telefony bez zainstalowanych usług Google Play. Na tej stronie znajdziesz typowe zmiany, które deweloperzy mogą musieć wprowadzić na potrzeby rynku chińskiego.

Używanie odpowiedniej wersji Usług Google Play

Usługi Google Play w wersji 10.2.0 zapewniają obsługę na całym świecie interfejsu Fused Location Provider API 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 interfejsu API Wearable.

Fused Location Provider API

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

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

Data Layer API

Jeśli Twoja aplikacja korzysta z interfejsu Data Layer API, musisz dodać ten wiersz do pliku build.gradle modułu Wear OS. Wymaga to 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 modułu mobilnego. 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ź przypadki użycia, aby dowiedzieć się, czy jest ono rzeczywiście potrzebne. Na przykład w przypadku aplikacji dostarczającej prognozę pogody logowanie, a tym samym uwierzytelnianie, prawdopodobnie nie jest potrzebne.

Jeśli uwierzytelnianie jest wymagane, zalecamy korzystanie z 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 sekcji Uwierzytelnianie na urządzeniach do noszenia. Nie zalecamy korzystania z biblioteki Wearable Support Library.

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

Połączone powiadomienia

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

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

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ć najlepsze informacje niezależnie od sprzętu zegarka i platformy telefonu, z którym jest sparowany. Korzystanie z FLP zapewnia też optymalizację baterii wbudowaną w platformę Wear OS.

Podczas integrowania 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.

Zespół pomocy Google Fit

W Chinach obsługiwane są licznik kroków, minuty ruchu i punkty kardio z Google Fit, z historią do 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, takich jak „Pokaż tętno” lub „Ustaw alarm”. Dzięki temu użytkownicy mogą powiedzieć, co chcą zrobić, a system wybierze najlepsze działanie do rozpoczęcia.

Gdy użytkownicy wypowiadają polecenie głosowe, aplikacja może filtrować intencję, która jest uruchamiana, aby rozpocząć działanie. Aby uruchomić usługę w tle, wyświetl aktywność jako wskazówkę wizualną i uruchom usługę w aktywności. Aby pozbyć się wizualnej wskazówki, zadzwoń pod numer finish().

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

Kategoria Przykład Specyfikacja zamiaru
Zamawianie przejazdów 打车去三里屯 Czynność

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

Dodatkowe

to: rozpoznane miejsce docelowe.

Dodatkowa wartość jest opcjonalna.

Ustaw alarm 设置一个明早七点的闹钟 Czynność

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 oznaczająca minutę alarmu

Te dodatki są opcjonalne. Możesz podać oba te dodatki, jeden z nich lub żaden.

Ustaw minutnik 设置一个三分钟的倒计时 Czynność

android.intent.action.SET_TIMER

Dodatki

android.provider.AlarmClock.EXTRA_LENGTH: liczba całkowita z zakresu od 1 do 86 400 (liczba sekund w 24 godzinach) określająca długość timera.

Uruchom stoper 开始计时 Czynność

com.google.android.wearable.action.STOPWATCH

Rozpoczynanie i zatrzymywanie jazdy rowerem 开始骑车 Czynność

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

Rozpoczynanie i zatrzymywanie biegu 开始跑步 Czynność

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.

Rozpoczynanie i zatrzymywanie treningu 开始锻炼 Czynność

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 查看心率 Czynność

vnd.google.fitness.VIEW

Typ MIME

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

Wyświetlanie liczby kroków 查看步数 Czynność

vnd.google.fitness.VIEW

Typ MIME

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

Nawigacja Nawigacja do Sanlitun Czynność

android.intent.action.VIEW

Dane

geo:latitude,longitude?q=融科资讯中心

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

Obsługa emulatora

Do testowania aplikacji możesz używać chińskiej wersji obrazu emulatora Wear OS. Ta funkcja jest obsługiwana przez Androida Studio 3.0 i nowsze wersje.

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

  1. Zainstaluj emulator Androida.
  2. Pobierz obrazy Wear OS na Chiny z Menedżera SDK. Używaj wersji na Wear OS 3.5 (poziom interfejsu API 30).
  3. Podczas tworzenia profilu AVD wybierz obraz Wear OS na Chiny.
  4. Uruchom emulator Wear OS w Chinach na potrzeby programowania.
  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,
  • 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)
  • Zegarek kieszonkowy
  • TalkBack
  • Tarcze zegarka (wersje analogowe 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 nie ma wymogu, aby aplikacja otwierała kanał Bluetooth i Wi-Fi specyficzny dla aplikacji.

Jeśli aplikacja poprosi o kanał Bluetooth i Wi-Fi w Chinach, żądanie zakończy się niepowodzeniem bez powiadomienia. Zamiast tego wyświetli się okno dialogowe 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).

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

Tryb sprawdzania uprawnień

W Chinach urządzenia z Wear OS działają w trybie sprawdzania uprawnień, który nakłada pewne ograniczenia na korzystanie z aplikacji z targetApiLevel poniżej 23. Zapoznaj się z tymi limitami:

  • Mimo że uprawnienia są przyznawane podczas instalacji, gdy aplikacja z wartością targetApiLevel niższą niż 23 zostanie uruchomiona po raz pierwszy, pojawi się okno z prośbą o potwierdzenie uprawnień do tej aplikacji.
  • Komponenty w 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 korzystanie z targetApiLevel w wersji 23 lub nowszej oraz stosowanie sprawdzonych metod dotyczących uprawnień aplikacji.

korzystać 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 sprawdzać, czy te interfejsy API są dostępne do użycia w czasie działania, i odpowiednio reagować. Dostępność interfejsów API usług Google Play możesz sprawdzić na 2 sposoby:

  1. Do łączenia się z innymi interfejsami API używaj osobnej instancji GoogleApiClient. Ten interfejs zawiera wywołania zwrotne, które informują aplikację o  powodzeniu lub niepowodzeniu połączenia. Jeśli nie uda się nawiązać połączenia, ConnectionResult wyświetli API_UNAVAILABLE. Aby dowiedzieć się, jak radzić sobie z błędami połączenia, przeczytaj artykuł Uzyskiwanie dostępu do interfejsów API Google.
  2. Użyj metody addApiIfAvailable() interfejsu GoogleApiClient.Builder, aby połączyć się z wymaganymi interfejsami API. Po wywołaniu zwrotnej funkcji onConnected() użyj metody hasConnectedApi(), aby upewnić się, że każdy z żądanych 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ć aplikację w sklepach z aplikacjami na Wear OS innych firm, takich jak: