Wear OS 6 introduit une nouvelle API, Watch Face Push, qui offre des opportunités pour des cas d'utilisation de publication de cadran plus avancés.
Identifier quand utiliser la méthode Push de cadran
Watch Face Push est une API sur Wear OS qui permet au développeur d'ajouter, de mettre à jour ou de supprimer directement des cadrans. Il n'est pas nécessaire pour le développement de cadrans standards.
Les cadrans utilisés avec la fonctionnalité Push de cadran doivent être écrits à l'aide du format de cadran. Cela peut inclure des cadrans conçus à l'aide de Watch Face Studio ou de tout autre outil qui produit des cadrans utilisant le format de cadran.
Bien que l'API Watch Face Push puisse être utilisée de plusieurs manières, le tableau suivant doit servir de guide pour les principaux cas d'utilisation:
Cas d'utilisation | Solution recommandée | Complexité |
---|---|---|
Je souhaite créer des cadrans individuels et les publier. | Utilisez le format de cadran, directement ou via un outil tel que Watch Face Studio, et publiez-les sur Google Play. | Faible |
Je souhaite créer une application pour téléphone permettant aux utilisateurs de sélectionner des cadrans parmi une collection sélectionnée, ou de concevoir et de personnaliser des cadrans à installer directement sur leur montre Wear OS. | Créez une application pour la montre et le téléphone à l'aide de l'API Watch Face Push sur la montre. | Élevée |
Objectif
Le cas d'utilisation canonique de l'API Watch Face Push est la création d'une application de marketplace. À partir de cette application, les utilisateurs peuvent sélectionner des cadrans à partir d'une collection sélectionnée sur leur téléphone et contrôler directement l'installation de ces cadrans sur leur montre connectée.
Points à prendre en compte
Pour en savoir plus sur la création de vos cadrans, consultez les conseils sur le format de cadran: les cadrans déployés à l'aide de la fonctionnalité Push de cadran sont des cadrans de format de cadran standards.
Lorsque vous créez votre cadran, gardez à l'esprit les points suivants.
Noms des packages
Les cadrans installés à l'aide de la fonctionnalité Push de cadran doivent respecter la convention suivante:
<app name>.watchfacepush.<watchface name>
... où <app name>
est le nom du package de l'application qui appelle l'API Watch Face Push.
Par exemple, pour une application dont le nom de package est com.example.mymarketplace
, les noms de package de cadran suivants sont valides:
com.example.mymarketplace.watchfacepush.watchface1
com.example.mymarketplace.watchfacepush.watchface2
com.example.mymarketplace.watchfacepush.another_watchface
Les cadrans qui ne respectent pas cette convention sont refusés par l'API.
Contenu du package
Le contenu de l'APK est strictement appliqué. Vous devez veiller à ce que le format de cadran respecte les contraintes suivantes: il est techniquement possible de générer des APK de format de cadran contenant des fichiers de métadonnées inoffensifs et d'autres artefacts, qui peuvent être acceptés par Google Play, mais qui ne passent pas la validation du transfert de cadran (voir ci-dessous).
Seuls les fichiers/chemins d'accès suivants sont acceptés dans chaque APK de cadran:
/AndroidManifest.xml
/resources.arsc
/res/**
/META-INF/**
De plus, seules les balises suivantes sont autorisées dans le fichier AndroidManifest.xml
:
<manifest>
<uses-feature>
<uses-sdk>
<application>
<property>
<meta-data>
Enfin, le package doit spécifier un minSdk
d'au moins 33
, et la balise <application>
doit spécifier l'attribut android:hasCode="false"
.
Validation
Contrairement aux cadrans standards distribués via Google Play, la fonctionnalité Push de cadran vérifie que chaque cadran est bien formé et performant. Cette tâche incombe à l'application Marketplace.
Google Play utilise les vérifications de validation suivantes pour vérifier la qualité de chaque cadran qui utilise la fonctionnalité Push de cadran:
- Tous les cadrans installés ou mis à jour via l'API Watch Face Push doivent réussir l'outil de validation Watch Face Push.
- Seul l'outil de validation officiel peut être utilisé pour générer des jetons de validation à utiliser avec l'API.
- L'outil de validation utilisé doit être à jour au moment de l'exécution de la validation.
Il n'est pas nécessaire de valider à nouveau un APK qui n'a pas changé. Les jetons n'expirent pas, même lorsque la version de l'outil de validation utilisé est remplacée.
En même temps, nous vous recommandons de réexécuter la validation de temps en temps, car le validateur est mis à jour régulièrement.
Exécuter le validateur
Pour exécuter le validateur sur un APK de cadran, procédez comme suit:
- Obtenez le validateur dans le dépôt Maven de Google.
Exécutez l'outil comme suit:
java -jar validator-push-cli-1.0.0-alpha01.jar \ --apk_path=youwatchface.apk \ --package_name=<your marketplace package name>
Si l'opération réussit, la sortie inclut un jeton de validation, que vous devez fournir à l'API Watch Face Push lorsque vous ajoutez ou mettez à jour un cadran.
Si une erreur se produit, la sortie inclut des informations sur la vérification spécifique qui a échoué.
Pour obtenir un exemple d'intégration de l'outil CLI de validation dans un build Gradle, consultez l'exemple de transfert de cadran sur GitHub.
Taille de l'APK
Vous devez faire preuve de la plus grande attention avec les cadrans Watch Face Push pour vous assurer que la taille de l'APK est réduite au minimum: l'APK du cadran est susceptible d'être transmis de l'application pour téléphone à l'application pour montre via Bluetooth, ce qui peut être lent.
La transmission d'un APK trop volumineux peut prendre un temps considérable, ce qui entraîne une mauvaise expérience utilisateur et une décharge de la batterie.
- Utilisez des bibliothèques appropriées telles que
pngquant
pour réduire au maximum la taille des fichiers image.- Incluez-le dans le processus de compilation de votre collection de cadrans.
- Vérifiez que les dimensions de l'image sont adaptées à l'échelle à laquelle elle sera utilisée.
- Assurez-vous que les images sont correctement recadrées pour supprimer tout arrière-plan environnant.
- Réduire la taille des fichiers de polices
- Par exemple, si vous utilisez une police particulière uniquement pour afficher l'heure, au format
HH:MM
, vous pouvez utiliser un outil tel quepyftsubset
pour limiter le fichier de police à ne contenir que les glyphes nécessaires. Cela peut réduire considérablement la taille du fichier de police et de l'APK générés. Pour en savoir plus sur la réduction de la taille des fichiers de polices, consultez cet article de blog.
- Par exemple, si vous utilisez une police particulière uniquement pour afficher l'heure, au format
Consultez les conseils d'optimisation de l'utilisation de la mémoire pour obtenir d'autres suggestions visant à réduire la taille de l'APK.
Signature de l'APK
Comme pour un APK standard, tous vos cadrans doivent être signés. Créez une clé différente de celle utilisée avec votre application principale et utilisez-la pour tous vos cadrans.
Architecture
Réfléchissez aux trois principaux composants du système:
- Stockage dans le cloud: dans l'application Marketplace canonique, vos cadrans sont créés et stockés dans le cloud, prêts à être utilisés par vos utilisateurs. Les cadrans sont les suivants :
- Précompilés en tant qu'APK de format de cadran standard
- ne contiennent qu'un seul cadran basé sur le format de cadran ;
- ont été validées à l'aide du processus de validation du transfert de cadran et sont stockées avec le jeton de validation associé.
- Elles sont prêtes à être récupérées par l'application de votre téléphone si nécessaire.
- Application pour téléphone: l'application pour téléphone est le principal moyen par lequel vos utilisateurs interagissent avec votre système. Il leur permet de :
- Parcourir et rechercher dans votre catalogue de cadrans
- Installer ou remplacer un cadran sur la montre
- Application de la montre: l'application de la montre ne dispose généralement pas d'une interface utilisateur importante. Il s'agit principalement d'un pont entre l'application pour téléphone et les API de transfert de cadran, avec les fonctionnalités suivantes :
- Utiliser l'API Watch Face Push pour installer/mettre à jour ou remplacer des cadrans
- Demander les autorisations nécessaires et inviter l'utilisateur
- Fournir un cadran par défaut
- Fournir un cache minimal de cadrans
- Communications entre le téléphone et la montre: la communication entre le téléphone et l'application de la montre est essentielle à la réussite de l'expérience globale. Utilisez les API de la couche de données Wear OS, qui permettent les opérations suivantes :
- Détection d'installation: à l'aide des fonctionnalités et de
CapabilityClient
, l'application pour téléphone peut détecter l'absence de l'application pour montre, et inversement. Vous pouvez ensuite lancer un intent vers le Play Store pour installer le facteur de forme manquant. - Gestion de l'état: à l'aide de
DataClient
ouMessageClient
, le téléphone peut être synchronisé avec l'état de la montre, par exemple pour s'assurer que le téléphone est au courant du cadran défini. - Transmission d'APK: à l'aide de
ChannelClient
ou deMessageClient
, les APK peuvent être envoyés du téléphone à la montre. - Appel à distance: à l'aide de
Messageclient
, le téléphone peut demander à la montre d'appeler l'API Watch Face Push, par exemple pour installer un cadran.
- Détection d'installation: à l'aide des fonctionnalités et de
Pour en savoir plus, consultez les conseils concernant l'API Data Layer.