Wprowadzanie Androidify do Wear OS za pomocą Watch Face Push
3 minuty czytania
Kilka miesięcy temu ponownie uruchomiliśmy Androidify jako aplikację do generowania spersonalizowanych botów Androida. Androidify przekształca Twoje selfie w zabawnego bota Androida za pomocą Gemini i Imagen.
Android działa jednak na wielu urządzeniach, w tym na najnowszym – XR. Zastanawialiśmy się, jak przenieść zabawę z Androidify do Wear OS.
Tarcza zegarka Androidify
Boty Androidify są wysoce spersonalizowane, dlatego naturalnym miejscem do ich prezentacji jest tarcza zegarka. Jest to nie tylko najczęściej widoczna, ale też najbardziej osobista powierzchnia, która pozwala Ci wyrazić siebie.
Spersonalizowana tarcza zegarka Androidify wygenerowana na podstawie selfie
Androidify może teraz dynamicznie generować tarczę zegarka w aplikacji na telefon i wysyłać ją na zegarek, gdzie zostanie automatycznie ustawiona jako tarcza zegarka. Wszystko to dzieje się w ciągu kilku sekund.
Projekt na wysokim poziomie
Kompletny proces tworzenia i instalowania tarczy zegarka
Aby zapewnić kompleksowe działanie, trzeba połączyć ze sobą kilka technologii, jak pokazano na tym schemacie projektu na wysokim poziomie.
Po pierwsze, awatar użytkownika jest łączony z gotowym szablonem Formatu tarczy zegarka, który jest następnie pakowany do pliku APK. Jest on weryfikowany – z powodów, które zostaną wyjaśnione. – i wysyłany na zegarek.
Po otrzymaniu przez zegarek do instalowania i aktywowania tarczy zegarka używany jest nowy Watch Face Push API, który jest częścią Wear OS 6.
Przyjrzyjmy się szczegółom:
Tworzenie szablonów tarcz zegarka
Tarcza zegarka jest tworzona na podstawie szablonu zaprojektowanego w Watch Face Designer.Jest to nasza nowa wtyczka do Figmy, która umożliwia tworzenie tarcz zegarka w Formacie tarczy zegarka bezpośrednio w Figmie.
Szablon tarczy zegarka Androidify w Watch Face Designer
Wtyczka umożliwia eksportowanie tarczy zegarka na różne sposoby, w tym jako zasoby Formatu tarczy zegarka (WFF). Można je następnie łatwo włączyć jako zasoby w aplikacji Androidify, aby dynamicznie tworzyć gotową tarczę zegarka.
Pakowanie i weryfikacja
Po połączeniu szablonu i awatara do złożenia pliku APK używany jest przenośny zestaw kompilatora zasobów (Pack).
W Androidify zestaw Pack jest używany jako biblioteka natywna na telefonie.Więcej informacji o tym, jak Androidify współpracuje z biblioteką Pack, znajdziesz w repozytorium GitHub.
Na ostatnim etapie przed transmisją plik APK jest sprawdzany przez narzędzie do weryfikacji Watch Face Push.
Ten walidator sprawdza, czy plik APK nadaje się do instalacji. Obejmuje to sprawdzenie zawartości pliku APK, aby upewnić się, że jest to prawidłowa tarcza zegarka, a także sprawdzenie wydajności. Jeśli plik jest prawidłowy, narzędzie do weryfikacji generuje token.
Token jest wymagany przez zegarek do instalacji.
Wysyłanie tarczy zegarka
Aplikacja Androidify na Wear OS używa WearableListenerService do nasłuchiwania zdarzeń w warstwie danych Wearable.
Aplikacja na telefon przesyła tarczę zegarka używając kombinacji MessageClient do skonfigurowania procesu, a następnie ChannelClient do przesyłania strumieniowego pliku APK.
Instalowanie tarczy zegarka na zegarku
Gdy tarcza zegarka zostanie odebrana na urządzeniu z Wear OS, aplikacja Androidify używa nowego Watch Face Push API do zainstalowania tarczy zegarka:
val wfpManager =
WatchFacePushManagerFactory.createWatchFacePushManager(context)
val response = wfpManager.listWatchFaces()
try {
if (response.remainingSlotCount > 0) {
wfpManager.addWatchFace(apkFd, token)
} else {
val slotId = response.installedWatchFaceDetails.first().slotId
wfpManager.updateWatchFace(slotId, apkFd, token)
}
} catch (a: WatchFacePushManager.AddWatchFaceException) {
return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR
} catch (u: WatchFacePushManager.UpdateWatchFaceException) {
return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR
}W zależności od scenariusza Androidify używa metody addWatchFace lub updateWatchFace. Watch Face Push definiuje koncepcję „slotów” – liczby tarcz zegarka, które dana aplikacja może mieć zainstalowane w dowolnym momencie. W przypadku Wear OS 6 ta wartość wynosi 1.
Androidify instaluje tarczę zegarka, jeśli jest dostępny wolny slot. Jeśli nie, zastępuje nową tarczą zegarka dowolną istniejącą.
Ustawianie aktywnej tarczy zegarka
Programowe instalowanie tarczy zegarka to świetny krok, ale Androidify chce też, aby tarcza zegarka była aktywna.
Watch Face Push wprowadza nowe uprawnienie czasu działania, które musi zostać przyznane, aby aplikacje mogły to osiągnąć:
com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE
Po uzyskaniu tego uprawnienia można wywołać metodę wfpManager.setWatchFaceAsActive(), aby ustawić zainstalowaną tarczę zegarka jako aktywną.
Androidify musi jednak wziąć pod uwagę kilka kwestii:
- Metody
setWatchFaceAsActivemożna użyć tylko raz. - Po odrzuceniu przez użytkownika uprawnienia
SET_PUSHED_WATCH_FACE_AS_ACTIVEnie można ponownie o nie poprosić. - Androidify może już kontrolować aktywną tarczę zegarka.
Więcej informacji znajdziesz w artykule o tym, jak Androidify implementuje logikę ustawiania aktywności.
Pierwsze kroki z Watch Face Push na Wear OS
Watch Face Push to wszechstronny interfejs API, który nadaje się zarówno do ulepszania Androidify, jak i do tworzenia w pełni funkcjonalnych platform z tarczami zegarka.
Może masz już aplikację na telefon i szukasz sposobów na dalsze angażowanie i zachwycanie użytkowników?
A może jesteś deweloperem tarcz zegarka i chcesz stworzyć własną społeczność i galerię, publikując aplikację na platformę?
Zapoznaj się z tymi materiałami:
- Watch Face Push
- Format tarczy zegarka – zwróć też uwagę na nadchodzące zmiany zasad dotyczące publikowania tarcz zegarka.
- Watch Face Designer
- Repozytorium Androidify na GitHub
- Informacje o Androidify w Sklepie Play
Obejrzyj też towarzyszący film, aby dowiedzieć się więcej o tym, jak przenieśliśmy Androidify do Wear OS.
Czekamy na to, co stworzysz za pomocą Watch Face Push.
-
Nowości dotyczące produktówZapewnianie bezpiecznego korzystania z internetu i ochrona użytkowników przed szkodliwymi treściami to dla nas w Google Play priorytet.
Paul Feng • 2 minuty czytania -
Nowości dotyczące produktówDziś oficjalnie obchodzimy 5. rocznicę wydania Jetpack Compose 1.0. Od wersji 1.0, ogłoszonej 28 lipca 2021 r., do najnowszej wersji 1.11 interfejsy API znacznie się rozwinęły, dlatego chcemy to uczcić.
Rebecca Franks, Nick Butcher, Loryn Hairston • 5 minut czytania -
Nowości dotyczące produktówAndroid Studio Quail 2 jest już stabilny i gotowy do użycia w środowisku produkcyjnym. Wprowadza do IDE równoległe przepływy pracy agenta, natywnie zintegrowane profilowanie wycieków pamięci i naprawianie awarii z uwzględnieniem kontekstu.
Amman Asfaw • 3 minuty czytania
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.