Actualités sur les produits

Intégrer Androidify à Wear OS avec Watch Face Push

Temps de lecture : 3 min
Voir le profil de Garan Jenkins
Garan Jenkin Ingénieur Developer Relations

 

 

Il y a quelques mois, nous avons relancé Androidify sous la forme d'une application permettant de générer des robots Android personnalisés. Androidify transforme votre selfie en un robot Android amusant à l'aide de Gemini et Imagen.

Cependant, étant donné qu'Android couvre plusieurs facteurs de forme, y compris notre dernier ajout, XR, nous nous sommes demandé comment nous pourrions proposer l'expérience amusante d'Androidify sur Wear OS.

Un cadran Androidify

Comme les robots Androidify sont hautement personnalisés, le cadran de la montre est l'endroit idéal pour les afficher. Il s'agit non seulement de la surface la plus visible, mais aussi de la plus personnelle, qui vous permet de montrer qui vous êtes.

demonstration.gif

Cadran Androidify personnalisé, généré à partir d'un selfie

Androidify peut désormais générer un cadran de manière dynamique dans l'application Téléphone, puis l'envoyer à votre montre, où il sera automatiquement défini comme cadran. Tout cela se produit en quelques secondes.

Conception de haut niveau

image.png

Processus de bout en bout pour la création et l'installation de cadrans

Pour obtenir une expérience de bout en bout, plusieurs technologies doivent être combinées, comme illustré dans ce schéma de conception général.

Tout d'abord, l'avatar de l'utilisateur est combiné à un modèle Watch Face Format préexistant, qui est ensuite empaqueté dans un APK. Cette approche est validée, pour des raisons qui seront expliquées. - et envoyée à la montre.

Lorsqu'il est reçu par la montre, la nouvelle API Watch Face Push (qui fait partie de Wear OS 6) est utilisée pour installer et activer le cadran.

Examinons les détails :

Créer les modèles de cadrans

Le cadran est créé à partir d'un modèle, lui-même conçu dans Watch Face Designer. Il s'agit de notre nouveau plug-in Figma qui vous permet de créer des cadrans au format Watch Face directement dans Figma.

image.png

Modèle de cadran Androidify dans Watch Face Designer

Le plug-in permet d'exporter le cadran de différentes manières, y compris en tant que ressources au format Watch Face Format (WFF). Ils peuvent ensuite être facilement intégrés en tant qu'assets dans l'application Androidify pour créer dynamiquement le cadran finalisé.

Packaging et validation

Une fois que le modèle et l'avatar ont été combinés, le Portable Asset Compiler Kit (Pack) est utilisé pour assembler un APK.

Dans Androidify, Pack est utilisé comme bibliothèque native sur le téléphone. Pour en savoir plus sur l'interface d'Androidify avec la bibliothèque Pack, consultez le dépôt GitHub.

Avant la transmission, l'APK est vérifié par le validateur Watch Face Push.

Ce validateur vérifie que l'APK peut être installé. Cela inclut la vérification du contenu de l'APK pour s'assurer qu'il s'agit d'un cadran valide, ainsi que des vérifications des performances. Si elle est valide, le validateur génère un jeton.

Ce jeton est requis par la montre pour l'installation.

Envoi du cadran…

L'application Androidify sur Wear OS utilise WearableListenerService pour écouter les événements sur la couche de données Wearable.

L'application Téléphone transfère le cadran en utilisant une combinaison de MessageClient pour configurer le processus, puis de ChannelClient pour diffuser l'APK.

Installation du cadran sur la montre…

Une fois le cadran reçu sur l'appareil Wear OS, l'application Androidify utilise la nouvelle API Watch Face Push pour installer le cadran :

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 utilise la méthode addWatchFace ou updateWatchFace, selon le scénario : Watch Face Push définit un concept d'emplacements, c'est-à-dire le nombre de cadrans qu'une application donnée peut avoir installés à tout moment. Pour Wear OS 6, cette valeur est en fait de 1.

L'approche d'Androidify consiste à installer le cadran s'il y a un emplacement libre. Sinon, un cadran existant est remplacé par le nouveau.

Définition du cadran actif…

L'installation du cadran de manière programmatique est une étape importante, mais Androidify cherche à s'assurer que le cadran est également le cadran actif. 

Watch Face Push introduit une nouvelle autorisation d'exécution qui doit être accordée pour que les applications puissent effectuer cette opération :

com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE

Une fois cette autorisation obtenue, la méthode wfpManager.setWatchFaceAsActive() peut être appelée pour définir un cadran installé comme cadran actif.

Toutefois, Androidify doit prendre en compte un certain nombre de considérations :

  • setWatchFaceAsActive ne peut être utilisé qu'une seule fois.
  • SET_PUSHED_WATCH_FACE_AS_ACTIVE ne peut pas être redemandé après avoir été refusé par l'utilisateur.
  • Androidify contrôle peut-être déjà le cadran actif.

Pour en savoir plus, découvrez comment Androidify implémente la logique d'activation.

Premiers pas avec Watch Face Push pour Wear OS

Watch Face Push est une API polyvalente, qui permet aussi bien d'améliorer Androidify que de créer des marketplaces de cadrans complètes.

Vous avez peut-être déjà une application pour téléphone et vous cherchez des opportunités pour susciter davantage l'engagement de vos utilisateurs et les satisfaire ?

Ou peut-être êtes-vous un développeur de cadrans existant qui souhaite créer sa propre communauté et sa propre galerie en publiant une application sur une plate-forme de téléchargement ?

Consultez les ressources suivantes :

Regardez également la vidéo associée pour découvrir plus en détail comment nous avons intégré Androidify à Wear OS.

Nous avons hâte de découvrir ce que vous allez créer avec Watch Face Push !

Written by:
Continuer la lecture