Wiadomości o usługach

Wprowadzanie Androidify na Wear OS za pomocą powiadomień push na tarczy zegarka

Czas czytania: 3 minuty
Garan Jenkin
Inżynier ds. relacji z deweloperami

 

 

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 różnych urządzeniach, w tym na najnowszym – XR. Zastanawialiśmy się więc, 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ś.

demonstration.gif

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. Wszystko to dzieje się w ciągu kilku sekund.

Projekt wysokiego poziomu

obraz.png

Kompletny 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 wcześniej utworzonym szablonem formatu tarczy zegarka, a następnie pakowany do pliku APK. Jest to uzasadnione – z wyjaśnionych poniżej powodów. – i wysył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 tarczy 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.

obraz.png

Szablon tarczy zegarka Androidify w programie Watch Face Designer

Wtyczka umożliwia eksportowanie tarczy zegarka na różne sposoby, w tym jako zasoby Format tarczy zegarka (WFF). 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 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.

Ostatnim krokiem przed przesłaniem jest sprawdzenie pakietu APK przez walidator 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 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ę zegarka, korzystając z 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 używa 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 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:

  • setWatchFaceAsActive można użyć tylko raz.
  • SET_PUSHED_WATCH_FACE_AS_ACTIVE nie 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 aplikacji 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:

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!

Autor:

Czytaj dalej