Vor einigen Monaten haben wir Androidify als App zum Erstellen personalisierter Android-Bots neu eingeführt. Mit Androidify wird dein Selfie mithilfe von Gemini und Imagen in einen verspielten Android-Bot verwandelt.
Da Android auf mehreren Formfaktoren verfügbar ist, einschließlich der neuesten Ergänzung XR, haben wir uns gefragt, wie wir den Spaß von Androidify auf Wear OS übertragen können.
Androidify-Zifferblatt
Da Androidify-Bots stark personalisiert sind, ist das Zifferblatt der natürliche 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.
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.
High-Level-Design
End-to-End-Ablauf für die Erstellung und Installation von Zifferblättern
Um die End-to-End-Funktionalität zu erreichen, müssen eine Reihe von Technologien kombiniert werden, wie in diesem High-Level-Design-Diagramm dargestellt.
Zuerst wird der Avatar des Nutzers mit einer vorhandenen Watch Face Format-Vorlage kombiniert, die dann in ein APK verpackt wird. Dieses wird aus Gründen, die noch erläutert werden, validiert und an die Smartwatch gesendet.
Nach dem Empfang auf der Smartwatch wird die neue Watch Face Push API – Teil von Wear OS 6 – verwendet, um das Zifferblatt zu installieren und zu aktivieren.
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 du Zifferblätter im Watch Face-Format direkt in Figma erstellen kannst.
Eine Androidify-Zifferblattvorlage in 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 erstellt.
In Androidify wird Pack als eine native Bibliothek auf dem Smartphone verwendet.Weitere Informationen zur Interaktion von Androidify mit der Pack-Bibliothek findest du im GitHub-Repository.
Als letzter Schritt vor der Übertragung wird das APK vom Watch Face Push-Validator geprüft.
Dieser Validator prüft, ob das APK für die Installation geeignet ist. Dazu gehört auch die Prüfung des Inhalts des APK, um sicherzustellen, dass es sich um ein gültiges Zifferblatt handelt, sowie einige Leistungsprüfungen. Wenn es gültig ist, generiert 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.
Zifferblatt auf der Smartwatch installieren
Sobald das Zifferblatt auf dem Wear OS-Gerät empfangen wurde, verwendet die Androidify-App die neue Watch Face Push API, um das Zifferblatt zu installieren:
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“, d. h. wie viele Zifferblätter eine bestimmte App jederzeit installiert haben kann. 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.
Watch Face Push führt eine neue Laufzeitberechtigung ein, 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 eine Reihe von Aspekten, die Androidify berücksichtigen muss:
setWatchFaceAsActivekann nur einmal verwendet werden.SET_PUSHED_WATCH_FACE_AS_ACTIVEkann 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 zur Verbesserung von Androidify als auch zum Erstellen voll funktionsfähiger Marktplätze für Zifferblätter eignet.
Vielleicht hast du eine vorhandene 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 deine eigene Community und Galerie erstellen, indem du eine Marktplatz-App veröffentlichst.
Sieh dir diese Ressourcen an:
- Watch Face Push
- Watch Face-Format – Beachte auch die bevorstehenden Richtlinienänderungen in Bezug auf die Veröffentlichung von Zifferblättern.
- Watch Face Designer
- Androidify GitHub-Repository
- Androidify Google Play Store-Eintrag
Im Begleitvideo erfährst du außerdem mehr darüber, wie wir Androidify auf Wear OS übertragen haben.
Wir sind gespannt, was du mit Watch Face Push erstellen wirst.
-
ProduktneuheitenHeute feiern wir offiziell den fünften Geburtstag von Jetpack Compose 1.0. Von Version 1.0, die am 28. Juli 2021 angekündigt wurde, bis zur neuesten Version 1.11 haben sich die APIs im Laufe der Jahre erheblich weiterentwickelt. Das ist ein Grund zum Feiern.
Rebecca Franks, Nick Butcher, Loryn Hairston • Lesezeit: 5 Minuten -
ProduktneuheitenAndroid Studio Quail 2 ist jetzt stabil und kann in der Produktion verwendet werden. Die IDE bietet jetzt gleichzeitige agentische Workflows, eine nativ integrierte Profilerstellung für Speicherlecks und eine kontextbezogene Fehlerbehebung.
Amman Asfaw • Lesezeit: 3 Minuten -
ProduktneuheitenIm März haben wir Android Bench eingeführt, unsere LLM-Bestenliste für Android-Entwicklungsaufgaben in der Praxis. Seitdem haben wir den Benchmark anhand deines Feedbacks verbessert, einschließlich der Bewertung von Modellen mit offenem Gewicht und der Hinzufügung von Kosten- und Effizienzkriterien zur Bestenliste.
Zoe Lopez-Latorre • Lesezeit: 3 Minuten
Lass dir Woche für Woche die neuesten Informationen zur Android-Entwicklung zusenden.