Produktneuigkeiten

Androidify mit Watch Face Push auf Wear OS bringen

Lesezeit: 3 Minuten
Profil von Garan Jenkin ansehen
Garan Jenkin Developer Relations Engineer

 

 

Vor einigen Monaten haben wir Androidify als App zum Erstellen personalisierter Android-Bots neu eingeführt. Androidify verwandelt Ihr Selfie mithilfe von Gemini und Imagen in einen verspielten Android-Bot.

Da Android jedoch auf mehreren Formfaktoren verfügbar ist, einschließlich unserer neuesten Ergänzung, XR, haben wir uns gefragt, wie wir den Spaß von Androidify auf Wear OS bringen können.

Androidify-Zifferblatt

Da Androidify-Bots stark 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, mit der du dich selbst darstellen kannst.

demonstration.gif

Personalisiertes Androidify-Zifferblatt, das aus einem Selfie generiert wurde

Androidify kann jetzt in der Telefon App dynamisch ein Zifferblatt generieren und es dann an deine Smartwatch senden, wo es automatisch als Zifferblatt festgelegt wird. All das geschieht innerhalb von Sekunden.

High-Level-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 allgemeinen Designdiagramm dargestellt.

Zuerst wird der Avatar des Nutzers mit einer vorhandenen Watch Face-Format-Vorlage kombiniert und dann in ein APK verpackt. Dies ist aus Gründen, die noch erläutert werden, validiert. – und an die Smartwatch gesendet.

Nachdem das Zifferblatt auf der Smartwatch empfangen wurde, wird es mit der neuen Watch Face Push API, die Teil von Wear OS 6 ist, installiert und aktiviert.

Sehen wir uns die Details genauer 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 Sie Zifferblätter im Watch Face-Format direkt in Figma erstellen können.

image.png

Androidify-Zifferblattvorlage im Watch Face Designer

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

Verpackung und Validierung

Nachdem die Vorlage und der Avatar kombiniert wurden, wird das Portable Asset Compiler Kit (Pack) verwendet, um ein APK zu erstellen.

In Androidify wird Pack als native Bibliothek auf dem Smartphone verwendet. Weitere Informationen zur Interaktion von Androidify mit der Pack-Bibliothek finden Sie im GitHub-Repository.

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

Mit diesem Validator wird geprüft, ob das APK für die Installation geeignet ist. Dabei wird der Inhalt des APK geprüft, um sicherzustellen, dass es sich um ein gültiges Zifferblatt handelt. Außerdem werden einige Leistungsprüfungen durchgeführt. Wenn es gültig ist, wird ein Token erstellt.

Dieses Token wird von der Smartwatch für die Installation benötigt.

Zifferblatt wird gesendet

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

Die Telefon App überträgt das Zifferblatt, indem sie eine Kombination aus MessageClient zum Einrichten des Vorgangs und ChannelClient zum Streamen des APK verwendet.

Zifferblatt auf der Smartwatch installieren

Sobald das Zifferblatt auf dem Wear OS-Gerät empfangen wurde, wird es von der Androidify-App über die neue Watch Face Push API installiert:

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 entweder die Methode addWatchFace oder updateWatchFace: Watch Face Push definiert ein Konzept von „Slots“, also wie viele Zifferblätter eine bestimmte App gleichzeitig installiert haben kann. Unter Wear OS 6 ist dieser Wert tatsächlich 1.

Androidify installiert das Zifferblatt, wenn ein verfügbarer Platz vorhanden ist. Wenn nicht, wird ein vorhandenes Zifferblatt durch das neue ersetzt.

Aktives Zifferblatt festlegen

Die programmatische Installation des Zifferblatts ist ein wichtiger Schritt, aber Androidify möchte auch sicherstellen, dass das Zifferblatt das aktive Zifferblatt ist. 

Mit Watch Face Push wird eine neue Laufzeitberechtigung eingeführt, die gewährt werden muss, damit Apps Folgendes tun 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 eine Reihe von Überlegungen, die Androidify berücksichtigen muss:

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

Weitere Informationen finden Sie unter Androidify – Implementierung der Logik zum Festlegen des aktiven Status.

Erste Schritte mit Watch Face Push für Wear OS

Watch Face Push ist eine vielseitige API, die sich sowohl für die Verbesserung von Androidify als auch für die Erstellung von Marktplätzen für Zifferblätter mit vollem Funktionsumfang eignet.

Vielleicht haben Sie bereits eine Smartphone-App und suchen nach Möglichkeiten, Ihre Nutzer noch stärker einzubinden und zu begeistern?

Oder vielleicht bist du ein Zifferblatt-Entwickler, der eine eigene Community und Galerie erstellen möchte, indem er eine Marktplatz-App veröffentlicht?

Hier finden Sie weitere Informationen:

Im zugehörigen Video erfährst du mehr darüber, wie wir Androidify auf Wear OS gebracht haben.

Wir sind gespannt, was ihr mit Watch Face Push alles erstellen werdet.

Verfasst von:
Weiterlesen