Tworzenie aplikacji na Wear OS dla Chin

Tworząc aplikacje na Wear OS dla Chin, musisz uwzględniać telefony bez wstępnie zainstalowanych Usług Google Play. Ta strona zawiera typowe zmiany, które deweloperzy prawdopodobnie będą musieli wprowadzić na rynku chińskim.

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

Usługi Google Play w wersji 10.2.0 zapewniają globalną obsługę interfejsów Fused Location Provider API i Data Layer API. 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 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. Więcej informacji znajdziesz w sekcji dotyczącej uzyskiwania dostępu do interfejsu Wearable API.

Interfejs API dostawcy uśrednionej lokalizacji

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

Odlotowy

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 modułu Wear OS. Wiersz wymaga użycia biblioteki klienta w wersji 10.2.0.

Odlotowy

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 odniesieniem do wersji 10.2.0.

Odlotowy

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ź swoje przypadki użycia, aby przekonać się, czy uwierzytelnianie jest rzeczywiście potrzebne. Na przykład w przypadku aplikacji, która dostarcza prognozę pogody, logowanie się nie jest konieczne, więc nie ma potrzeby uwierzytelniania.

Jeśli wymagasz uwierzytelniania, zalecamy korzystanie z biblioteki protokołu OAuth w AndroidzieX. Wymaga to użycia procesu przyznania kodu autoryzacji z PKCE. Możesz też użyć jednej z innych metod opisanych w artykule na temat uwierzytelniania na urządzeniach do noszenia. Nie zalecamy korzystania z biblioteki pomocy do urządzeń do noszenia.

Więcej informacji znajdziesz na stronie z przykładem protokołu OAuth dla Wear OS na GitHubie.

Pośrednie powiadomienia

Powiadomienia pomostowe 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 mapowania

FusedLocationProvider (FLP) pozwala wykrywać lokalizację użytkownika w Chinach (podobnie jak w przypadku reszty świata). Dzięki temu aplikacja uwzględnia najlepsze informacje niezależnie od urządzenia i platformy telefonu, z którą jest sparowany. Korzystanie z FLP dodaje też wbudowaną funkcję optymalizacji baterii, która jest wbudowana w platformę Wear OS.

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

Zespół pomocy Google Fit

Licznik kroków, minuty ruchu i punkty kardio w Google Fit są obsługiwane w Chinach. Historia może sięgać 7 dni. W tym celu nie musisz podawać danych logowania.

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 znajdzie najlepszą aktywność, która najlepiej zacząć.

Gdy użytkownik wymawia komendę głosową, aplikacja może filtrować intencję, która uruchamia określone działanie. Aby uruchomić usługę w tle, ukaż działanie jako wizualną wskazówkę i uruchom usługę w ramach aktywności. Zadzwoń pod numer finish(), aby pozbyć się wizualnego sygnału.

Oto lista intencji związanych z głosem obsługiwanych przez platformę Wear OS:

Category Przykład Specyfikacja intencji
Sprzedaż samochodów 打车去す里屯 Działanie

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

Dodatkowo

to: rozpoznane miejsce docelowe

Dodatki są opcjonalne.

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

android.intent.action.SET_ALARM

Dodatki

android.provider.AlarmClock.EXTRA_HOUR: liczba całkowita określająca godzinę alarmu

android.provider.AlarmClock.EXTRA_MINUTES: liczba całkowita określająca minutę alarmu

Te dodatki są opcjonalne. Podaj oba te elementy lub żaden z nich.

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), która odpowiada długości 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 z wartością ActiveActionStatus w momencie rozpoczęcia i CompletedActionStatus przy zatrzymaniu.

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 przy rozpoczęciu i CompletedActionStatus przy zatrzymaniu.

Rozpoczynanie i 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 przy rozpoczęciu 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:latitude,longitude?q=融科资讯 zrozumienia

Asystent głosowy może też w razie potrzeby uruchamiać określone zachowania, korzystając z typowych intencji Androida.

Obsługa emulatorów

Do testowania aplikacji możesz użyć chińskiej wersji obrazu emulatora Wear OS. Jest ono obsługiwane w Android Studio w wersji 3.0 i nowszych.

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

  1. Zainstaluj emulator Androida.
  2. Pobierz obrazy Wear OS dla Chin z menedżera pakietów SDK. Użyj wersji na Wear OS 3.5 (poziom API 30).
  3. Podczas tworzenia profilu AVD wybierz obraz Wear OS dla Chin.
  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 ma kilka zainstalowanych fabrycznie 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 (dostosowany do urządzeń w Chinach)
  • Zegarek kieszonkowy
  • TalkBack
  • Tarcze zegarka (zarówno w wersji analogowej, jak i cyfrowej)
  • 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ć powiązanego z nią kanału Bluetooth i Wi-Fi.

Jeśli aplikacja żąda kanału Bluetooth i Wi-Fi specyficznego dla aplikacji w Chinach, nie uda się tego zrobić bez powiadomienia. 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 BluetoothAdapter.enable() lub WifiManager.setEnabled(true).

Uwaga: aby aplikacja kierowana na Androida 10 (poziom interfejsu API 29) lub nowszego mogła wywoływać WifiManager.setEnabled(), musi to być aplikacja systemowa lub kontroler zasad urządzeń (DPC).

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 korzystanie z aplikacji z targetApiLevel mniejszą niż 23. Sprawdź te limity:

  • Mimo że uprawnienia są przyznawane podczas instalacji, przy pierwszym uruchomieniu aplikacji z wartością targetApiLevel mniejszą niż 23 pojawi się okno z prośbą o potwierdzenie przez użytkownika uprawnień.
  • Komponenty aplikacji, takie jak odbiorniki, usługi i działania, nie reagują na odpowiadające im zdarzenia przed pierwszym użyciem aplikacji.

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

Korzystanie z innych interfejsów API Usług Google Play

Jeśli Twoja aplikacja używa interfejsów API Usług Google Play innych niż interfejs Wearable API, musi sprawdzić, czy są one dostępne do użycia w czasie działania, i odpowiednio zareagować. 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 oddzielnej instancji GoogleApiClient. Ten interfejs zawiera wywołania zwrotne, które ostrzegają aplikację o udanej lub niepowodzeniu połączenia. W przypadku niepowodzenia połączenia ConnectionResult pokazuje wartość API_UNAVAILABLE. Aby dowiedzieć się, jak postępować w przypadku błędów połączenia, przeczytaj artykuł na temat uzyskiwania 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 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 prowadzić dystrybucję w zewnętrznych sklepach z aplikacjami na Wear OS, np. w tych sklepach: