Produktneuheiten

Androidify für Wear OS mit Watch Face Push

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 können Sie Ihr Selfie-Foto mithilfe von Gemini und Imagen in einen lustigen Android-Bot verwandeln.

Da Android jedoch mehrere Formfaktoren umfasst, einschließlich unseres neuesten, XR, haben wir uns gefragt, wie wir den Spaß von Androidify auf Wear OS übertragen können.

Androidify-Zifferblatt

Da Androidify-Bots sehr personalisiert sind, ist das Zifferblatt der natürliche Ort, um sie zu präsentieren. Sie ist nicht nur die am häufigsten sichtbare Oberfläche, sondern auch die persönlichste, da Sie hier zeigen können, wer Sie sind.

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 Ihre Smartwatch gesendet werden, wo es automatisch als Zifferblatt festgelegt wird. Das alles geschieht innerhalb von Sekunden.

Konzeption

image.png

End-to-End-Ablauf für das Erstellen und Installieren von Zifferblättern

Um die End-to-End-Lösung zu realisieren, müssen eine Reihe von Technologien kombiniert werden, wie in diesem allgemeinen Designschema dargestellt.

Zuerst wird der Avatar des Nutzers mit einer vorhandenen Zifferblattformat-Vorlage kombiniert und dann in ein APK verpackt. Das wird aus Gründen, die wir gleich erläutern, überprüft. – und an die Smartwatch gesendet.

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

Sehen wir uns die Details an:

Zifferblattvorlagen erstellen

Das Zifferblatt wird aus einer Vorlage erstellt, die in 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 in 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 ganz 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 eine 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.

Vor der Übertragung wird das APK im letzten Schritt vom Watch Face Push-Validator geprüft.

Mit diesem Validator wird geprüft, ob die APK für die Installation geeignet ist. Dazu gehört die Prüfung des APK-Inhalts, um sicherzustellen, dass es sich um ein gültiges Zifferblatt handelt, sowie einige Leistungsprüfungen. Wenn es gültig ist, wird vom Validator ein Token ausgegeben.

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

Zifferblatt wird gesendet

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

Die Smartphone-App überträgt das Zifferblatt über eine Kombination aus MessageClient zum Einrichten des Prozesses und ChannelClient zum Streamen des APKs.

Uhranzeige 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“ – wie viele Zifferblätter eine bestimmte App jederzeit installiert haben kann. Bei Wear OS 6 ist dieser Wert tatsächlich 1.

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

Aktives Zifferblatt festlegen

Das Zifferblatt programmatisch zu installieren ist ein guter 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 diese Funktion nutzen 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.

Bei Androidify sind jedoch einige Aspekte zu berücksichtigen:

  • setWatchFaceAsActive kann nur einmal verwendet werden.
  • SET_PUSHED_WATCH_FACE_AS_ACTIVE kann nicht noch einmal angefordert werden, nachdem sie vom Nutzer abgelehnt wurde.
  • Möglicherweise ist Androidify bereits für das aktive Zifferblatt verantwortlich.

Weitere Informationen dazu, wie Androidify die Logik zum Festlegen des aktiven Geräts implementiert.

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 vollem Funktionsumfang eignet.

Vielleicht haben Sie bereits eine Smartphone-App und suchen nach Möglichkeiten, Ihre Nutzer noch besser zu erreichen und zu begeistern.

Oder sind Sie ein bestehender Zifferblattentwickler, der durch die Veröffentlichung einer Marketplace-App eine eigene Community und Galerie erstellen möchte?

Weitere Informationen:

In diesem Video erfahren Sie mehr darüber, wie wir Androidify für Wear OS entwickelt haben.

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

Verfasst von:

Weiterlesen