Nowości dotyczące produktów

Wprowadzenie Androidify do Wear OS dzięki Watch Face Push

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

 

 

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 prezentowania jest tarcza zegarka. Jest to nie tylko najczęściej widoczna, ale też najbardziej osobista powierzchnia, która pozwala Ci wyrazić siebie.

demonstration.gif

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

image.png

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.

Najpierw 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 wyjaśnimy. – i wysyłany na zegarek.

Po otrzymaniu przez zegarek tarcza jest instalowana i aktywowana za pomocą nowego interfejsu 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.

image.png

Szablon tarczy zegarka Androidify w Watch Face Designer

Wtyczka umożliwia eksportowanie tarczy zegarka na różne sposoby, w tym jako zasoby w Formacie 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 utworzenia pliku APK używany jest 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 pliku APK 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, oraz sprawdzenie wydajności. Jeśli jest prawidłowy, walidator generuje token.

Jest on 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 interfejsu Watch Face Push API do jej zainstalowania:

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 nią dotychczasową tarczę.

Ustawianie aktywnej tarczy zegarka

Programowe zainstalowanie tarczy zegarka to świetny krok, ale Androidify chce też, aby była ona 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 setWatchFaceAsActive można użyć tylko raz.
  • Po odrzuceniu przez użytkownika uprawnienia SET_PUSHED_WATCH_FACE_AS_ACTIVE nie 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 aktywnej tarczy zegarka.

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 zadowalanie 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:

Obejrzyj też towarzyszący film, aby dowiedzieć się więcej o tym, jak wprowadziliśmy Androidify do Wear OS.

Czekamy z niecierpliwością na to, co stworzysz za pomocą Watch Face Push.

Autor:

Czytaj dalej