Produktneuheiten

Androidify mit Watch Face Push auf Wear OS

Lesezeit: 3 Minuten
Garan Jenkin
Developer Relations Engineer

 

 

Vor einigen Monaten haben wir Androidify als App zum Erstellen personalisierter Android-Bots neu eingeführt. Mit Androidify werden Selfies mithilfe von Gemini und Imagen in verspielte Android-Bots umgewandelt.

Da Android jedoch mehrere Formfaktoren umfasst, einschließlich unseres neuesten Produkts XR, haben wir uns gefragt, wie wir Androidify auf Wear OS bringen können.

Ein Androidify-Zifferblatt

Da Androidify-Bots sehr personalisiert sind, ist das Zifferblatt der ideale Ort, um sie zu präsentieren. Es ist nicht nur die am häufigsten sichtbare Oberfläche, sondern auch die persönlichste, da du damit zeigen kannst, wer du bist.

demonstration.gif

Personalisiertes Androidify-Zifferblatt, das aus einem Selfie generiert wurde

Mit Androidify kann jetzt ein Zifferblatt dynamisch in der Smartphone-App generiert und dann an deine Smartwatch gesendet werden, wo es automatisch als Zifferblatt festgelegt wird. Das alles geschieht innerhalb von Sekunden.

Hochwertiges Design

image.png

End-to-End-Ablauf für die Erstellung und Installation von Zifferblättern

Um die End-to-End-Funktionalität zu erreichen, müssen mehrere Technologien kombiniert werden, wie in diesem Diagramm mit dem hochwertigen Design dargestellt.

Zuerst wird der Avatar des Nutzers mit einer vorhandenen Watch Face-Format-Vorlage kombiniert und dann in ein APK-Paket gepackt. Dieses wird validiert – aus Gründen, die wir noch erläutern werden. Anschließend wird es an die Smartwatch gesendet.

Nach dem Empfang auf der Smartwatch wird das Zifferblatt mit der neuen Watch Face Push API installiert und aktiviert, die Teil von Wear OS 6 ist.

Sehen wir uns die Details an:

Zifferblattvorlagen erstellen

Das Zifferblatt wird aus einer Vorlage erstellt, die im Watch Face Designer entworfen wurde.Das ist unser neues Figma-Plug-in, mit dem du Zifferblätter im Watch Face-Format direkt in Figma erstellen kannst.

image.png

Eine Androidify-Zifferblattvorlage im Watch Face Designer

Mit dem Plug-in kann das Zifferblatt auf verschiedene Arten exportiert werden, unter anderem als Ressourcen im Watch Face-Format (WFF). Diese können dann ganz einfach als Assets in die Androidify-App eingebunden werden, um das endgültige Zifferblatt dynamisch zu erstellen.

Verpackung und Validierung

Sobald die Vorlage und der Avatar kombiniert wurden, wird mit dem Portable Asset Compiler Kit (Pack) ein APK-Paket erstellt.

In Androidify wird Pack als eine native Bibliothek auf dem Smartphone verwendet.Weitere Informationen zur Schnittstelle zwischen Androidify und der Pack-Bibliothek findest du im GitHub-Repository.

Als letzter Schritt vor der Übertragung wird das APK-Paket vom Watch Face Push-Validator geprüft.

Dieser Validator prüft, ob das APK-Paket für die Installation geeignet ist. Dazu gehört auch die Prüfung des Inhalts des APK-Pakets, um sicherzustellen, dass es ein gültiges Zifferblatt ist, sowie einige Leistungsprüfungen. Wenn es gültig ist, erstellt der Validator ein Token.

Dieses Token ist für die Installation auf der Smartwatch erforderlich.

Zifferblatt senden

Die Androidify-App auf Wear OS verwendet WearableListenerService, um auf Ereignisse auf der Wearable Data Layer zu warten.

Die Smartphone-App überträgt das Zifferblatt mit einer Kombination aus MessageClient zum Einrichten des Prozesses und ChannelClient zum Streamen des APK-Pakets.

Zifferblatt auf der Smartwatch installieren

Sobald das Zifferblatt auf dem Wear OS-Gerät empfangen wurde, installiert die Androidify-App es mit der neuen Watch Face Push API:

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 verwendet je nach Szenario die Methode addWatchFace oder updateWatchFace. Watch Face Push definiert ein Konzept von „Slots“, also wie viele Zifferblätter für eine bestimmte App gleichzeitig installiert sein können. Für Wear OS 6 ist dieser Wert 1.

Androidify installiert das Zifferblatt, wenn ein kostenloser Slot vorhanden ist. Andernfalls wird ein vorhandenes Zifferblatt durch das neue ersetzt.

Aktives Zifferblatt festlegen

Das programmgesteuerte Installieren des Zifferblatts ist ein großer Schritt, aber Androidify sorgt dafür, dass das Zifferblatt auch das aktive Zifferblatt ist. 

Mit Watch Face Push wird eine neue Laufzeitberechtigung eingeführt, die erteilt werden muss, damit Apps dies erreichen können:

com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE

Sobald diese Berechtigung erteilt wurde, kann die Methode wfpManager.setWatchFaceAsActive() aufgerufen werden, um ein installiertes Zifferblatt als aktives Zifferblatt festzulegen.

Es gibt jedoch einige Aspekte, die Androidify berücksichtigen muss:

  • setWatchFaceAsActive kann nur einmal verwendet werden.
  • SET_PUSHED_WATCH_FACE_AS_ACTIVE kann nicht noch einmal angefordert werden, nachdem der Nutzer die Berechtigung abgelehnt hat.
  • Androidify steuert möglicherweise bereits das aktive Zifferblatt.

Weitere Informationen findest du unter So implementiert Androidify die Logik zum Festlegen des aktiven Zifferblatts.

Erste Schritte mit Watch Face Push für Wear OS

Watch Face Push ist eine vielseitige API, die sich sowohl für die Erweiterung von Androidify als auch für die Entwicklung von Marktplätzen für Zifferblätter mit allen Funktionen eignet.

Vielleicht hast du bereits eine Smartphone-App und suchst nach Möglichkeiten, die Interaktion mit deinen Nutzern zu verbessern und sie zu begeistern.

Oder vielleicht bist du ein Entwickler von Zifferblättern und möchtest eine eigene Community und Galerie erstellen, indem du eine Marktplatz-App veröffentlichst.

Sieh dir diese Ressourcen an:

Im Begleitvideo erfährst du mehr darüber, wie wir Androidify auf Wear OS gebracht haben.

Wir sind gespannt, was du mit Watch Face Push entwickeln wirst.

Autor:

Weiterlesen