Wprowadzanie Androidify na Wear OS za pomocą powiadomień push na tarczy zegarka
Czas czytania: 3 minuty
Kilka miesięcy temu ponownie udostępniliś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 na Wear OS.
Tarcza zegarka Androidify
Boty Androidify są wysoce spersonalizowane, więc naturalnym miejscem do ich prezentacji jest tarcza zegarka. Jest to nie tylko najczęściej widoczna, ale też najbardziej osobista platforma, która pozwala Ci pokazać, kim jesteś.
Spersonalizowana tarcza zegarka Androidify wygenerowana na podstawie zdjęcia selfie
Androidify może teraz dynamicznie generować tarczę zegarka w aplikacji na telefon, a następnie wysyłać ją na zegarek, gdzie zostanie automatycznie ustawiona jako tarcza zegarka. Wszystko to dzieje się w ciągu kilku sekund.
Projekt wysokiego poziomu
Proces tworzenia i instalowania tarczy zegarka
Aby zapewnić kompleksowe działanie, należy połączyć ze sobą kilka technologii, jak pokazano na tym schemacie ogólnym.
Najpierw awatar użytkownika jest łączony z gotowym szablonem formatu tarczy zegarka, a następnie pakowany do pliku APK. Jest to uzasadnione z powodów, które wyjaśnimy. – i wysłane na zegarek.
Po otrzymaniu przez zegarek nowa funkcja Watch Face Push API, która jest częścią Wear OS 6, służy do instalowania i aktywowania tarczy zegarka.
Przyjrzyjmy się szczegółom:
Tworzenie szablonów tarcz zegarka
Tarcza zegarka jest tworzona na podstawie szablonu zaprojektowanego w Watch Face Designer. 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 programie Watch Face Designer
Wtyczka umożliwia eksportowanie tarczy zegarka na różne sposoby, w tym jako zasoby formatu tarczy zegarka. Można je następnie łatwo włączyć jako komponenty w aplikacji Androidify, aby dynamicznie tworzyć ostateczną tarczę zegarka.
Pakowanie i weryfikacja
Gdy szablon i awatar zostaną połączone, do utworzenia pliku APK używany jest pakiet Portable Asset Compiler Kit (Pack).
W Androidify pakiet jest używany jako biblioteka natywna na telefonie. Więcej informacji o tym, jak Androidify współpracuje z biblioteką Pack, znajdziesz w repozytorium GitHub.
Przed przesłaniem plik APK jest sprawdzany przez narzędzie do sprawdzania przesyłania tarcz zegarka.
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 jest prawidłowy, weryfikator generuje token.
Ten 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 urządzeń do noszenia.
Aplikacja na telefon przesyła tarczę zegara, 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 przesłana na urządzenie z Wear OS, aplikacja Androidify użyje nowego interfejsu Watch Face Push API, aby ją zainstalować:
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
}Androidify korzysta z metody addWatchFace lub updateWatchFace w zależności od scenariusza: funkcja Watch Face Push określa koncepcję „slotów”, czyli liczbę 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ępne wolne miejsce. W przeciwnym razie zastępuje nią dowolną z dotychczasowych tarcz.
Ustawianie aktywnej tarczy zegarka
Programowe instalowanie tarczy zegarka to świetny krok, ale Androidify dba też o to, aby była ona aktywna.
Funkcja Watch Face Push wprowadza nowe uprawnienie środowiska wykonawczego, które musi zostać przyznane, aby aplikacje mogły z niej korzystać:
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 uwzględniać kilka kwestii:
setWatchFaceAsActivemożna wykorzystać tylko raz.SET_PUSHED_WATCH_FACE_AS_ACTIVEnie można ponownie poprosić po odrzuceniu przez użytkownika.- Androidify może już kontrolować aktywną tarczę zegarka.
Więcej informacji znajdziesz w artykule o tym, jak Androidify wdraża logikę ustawiania aktywności.
Pierwsze kroki z powiadomieniami push na tarczy zegarka z Wear OS
Watch Face Push to wszechstronny interfejs API, który sprawdza się zarówno w przypadku ulepszania Androidify, jak i tworzenia w pełni funkcjonalnych platform z tarczami zegarka.
Może masz już aplikację na telefon i szukasz sposobów na zwiększenie zaangażowania użytkowników?
A może jesteś deweloperem tarcz zegarka, który chce stworzyć własną społeczność i galerię, publikując aplikację na platformie handlowej?
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 GitHub Androidify
- Informacje o aplikacji Androidify w Sklepie Play
Obejrzyj też powiązany film, aby dowiedzieć się więcej o tym, jak przenieśliśmy Androidify na Wear OS.
Nie możemy się doczekać, co stworzysz za pomocą Watch Face Push!
-
Wiadomości o usługachZ przyjemnością ogłaszamy stabilną wersję bibliotek AndroidX Security State 1.1.0 i Security State Provider 1.0.0.
Maunik Shah, Alec Garcia, Joseph Yong • Czas czytania: 4 minuty -
Wiadomości o usługachDziś udostępniamy pierwszy zestaw zadań długoterminowych (LHT), czyli bardzo złożonych zadań, których wykonanie zajmuje inżynierowi kilka dni, a nawet tydzień. Wprowadzamy też ocenę agentów, zaczynając od agentów od odpowiednich dostawców modeli.
Matthew McCullough • Czas czytania: 3 minuty -
Wiadomości o usługachDebugowanie bezprzewodowe na Androidzie jest teraz szybsze, bardziej niezawodne i łatwiejsze w konfiguracji niż kiedykolwiek. W przypadku ADB Wi-Fi 2.0 wprowadziliśmy nowy stos serwerów i inteligentniejsze zarządzanie siecią, aby bezpośrednio uwzględnić opinie deweloperów dotyczące luk w zakresie użyteczności.
Steven Jenkins, Sherif Eid, Fabien Sanglard • Czas czytania: 1 minuta
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.