Actualités des produits

Androidify sur Wear OS avec Watch Face Push

Temps de lecture : 3 min
Garan Jenkin
Ingénieur chargé des relations avec les développeurs

 

 

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

Cependant, étant donné qu'Android couvre plusieurs facteurs de forme, y compris notre dernière nouveauté, XR, nous nous sommes demandé comment apporter le côté ludique d'Androidify à Wear OS.

Un cadran Androidify

Les robots Androidify étant très personnalisés, le cadran est l'endroit idéal pour les mettre en avant. Il s'agit non seulement de la surface la plus visible, mais aussi de la plus personnelle, car elle 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 mobile, 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 le montre ce schéma de conception de haut niveau.

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

Une fois reçu par la montre, le nouveau Watch Face Push API (qui fait partie de Wear OS 6) est utilisé pour installer et activer le cadran.

Examinons les détails :

Créer les modèles de cadran

Le cadran est créé à partir d'un modèle conçu dans Watch Face Designer. Il s'agit de notre nouveau plug-in Figma qui vous permet de créer des cadrans Watch Face Format 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 Watch Face Format (WFF). Ils peuvent ensuite être facilement intégrés en tant qu'éléments dans l'application Androidify, pour créer dynamiquement le cadran final.

Packaging et validation

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

Dans Androidify, Pack est utilisé comme bibliothèque native sur le téléphone. Pour en savoir plus sur la façon dont Androidify interagit 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 le fichier 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 certains contrôles de performances. S'il 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 Wearable Data Layer.

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

Installer le 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 l'installer :

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, tout cadran existant est remplacé par le nouveau.

Définir le cadran actif

L'installation programmatique du cadran est une excellente étape, mais Androidify cherche à s'assurer que le cadran est également le cadran actif. 

La fonctionnalité d'envoi de cadrans introduit une nouvelle autorisation d'exécution qui doit être accordée pour que les applications puissent y accéder :

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 tenir compte de plusieurs éléments :

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

Pour en savoir plus, consultez la section sur la façon dont Androidify implémente la logique de définition de l'activité.

Premiers pas avec la diffusion de cadrans pour Wear OS

Watch Face Push est une API polyvalente, aussi bien adaptée à l'amélioration d'Androidify qu'à la création de marketplaces de cadrans complètes.

Vous avez peut-être déjà une application mobile et vous cherchez des moyens d'améliorer l'engagement et la satisfaction de vos utilisateurs.

Ou peut-être êtes-vous un développeur de cadrans existant qui souhaite créer sa propre communauté et galerie en publiant une application de place de marché ?

Consultez les ressources suivantes :

Consultez également la vidéo associée pour en savoir plus sur la façon dont nous avons adapté Androidify à Wear OS.

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

Écrit par :

Lire la suite