Configuration du format de cadran

Ce guide décrit les outils dont vous avez besoin pour configurer un cadran à l'aide du format de cadran, ainsi que des suggestions sur la structure de projet et un guide par étapes sur les outils à appliquer pour créer cette structure.

Conditions préalables

Pour préparer votre environnement de développement à l'utilisation du format de cadran, procédez comme suit :

  1. Installez le SDK pour Android 14 (niveau d'API 34) ou version ultérieure. Si votre cadran ne s'appuie pas sur des fonctionnalités ou un comportement spécifiques à la version 2, vous pouvez installer le SDK pour Android 13 (niveau d'API 33).

    Le SDK contient d'autres outils obligatoires, y compris aapt2 et android.jar.

  2. Vous pouvez également installer Android Studio, qui peut également fournir ces outils.

Structure du projet

Lorsque vous créez un cadran personnalisé qui utilise le format de cadran, l'Android App Bundle qui inclut le fichier de cadran personnalisé doit être complètement distinct de l'Android App Bundle qui contient la logique de votre application Wear OS. Certaines plates-formes de téléchargement d'applications, y compris Google Play, vous empêchent d'importer un Android App Bundle qui inclut à la fois la logique Wear OS et un cadran personnalisé.

Créer un bundle de cadrans

Pour créer un Android App Bundle comprenant un fichier de cadran, suivez les étapes décrites dans les sections suivantes.

Déclarer l'utilisation du format de cadran

Dans le fichier manifeste de votre nouvelle application (AndroidManifest.xml), ajoutez une propriété d'application indiquant votre utilisation du format de cadran. Sauf si vous souhaitez limiter l'accès à votre cadran pour les appareils exécutant Wear OS 5 ou version ultérieure, créez deux APK de cadran différents, l'un compatible avec la version 2 et l'autre avec la version 1. Découvrez comment configurer les versions de votre application.

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest ...>
    <!--
        Use SDK version 34 for version 2 of WFF, and SDK version 33 for version
        1 of WFF
    -->
    <uses-sdk
        android:minSdkVersion="34"
        android:targetSdkVersion="34" />

    <!--
        WFF is a resource-only format, so the hasCode attribute should be set to
        false to reflect this.
    -->
    <application
        android:label="@string/watch_face_name"
        android:hasCode="false"
        ...>
        <property
            android:name="com.google.wear.watchface.format.version"
            android:value="2" />
    </application>
</manifest>

Déclarer des métadonnées de cadran

Dans le répertoire de ressources res/xml de votre application, créez un fichier nommé watch_face_info.xml. C'est là que vous définirez les métadonnées du cadran :

<?xml version="1.0" encoding="utf-8"?>
<WatchFaceInfo>
    <!-- Only "Preview" is required. -->
    <Preview value="@drawable/watch_face_preview" />
    <Category value="CATEGORY_EMPTY" />
    <AvailableInRetail value="true" />
    <MultipleInstancesAllowed value="true" />
    <Editable value="true" />
</WatchFaceInfo>

Les champs de ce fichier représentent les informations suivantes :

Preview
Renvoie le drawable qui contient une image d'aperçu du cadran.
Category

Définit la catégorie du cadran. Il doit s'agir d'une chaîne ou d'une référence à une chaîne (par exemple, @string/ref_name). Chaque fabricant d'appareils peut définir son propre ensemble de catégories de cadrans.

Valeur par défaut : empty_category_meta, qui regroupe ce cadran avec d'autres cadrans de "catégorie vide" en bas de la vue de l'outil de sélection de cadran.

AvailableInRetail

Indique si le cadran est disponible en mode démonstration en magasin sur l'appareil. Doit être une valeur booléenne ou une référence à une valeur booléenne comme @bool/watch_face_available_in_retail.

Valeur par défaut : false

MultipleInstancesAllowed

Indique si le cadran peut avoir plusieurs favoris. Doit être une valeur booléenne ou une référence à une valeur booléenne comme @bool/watch_face_multiple_instances_allowed.

Valeur par défaut : false

Editable

Indique si le cadran est modifiable, ce qui signifie qu'il comporte un paramètre ou au moins une complication non fixe. Cela permet d'afficher ou de masquer le bouton Edit (Modifier) du cadran dans la liste des favoris.

Valeur par défaut : false

Déclarer le nom du cadran

Dans le fichier manifeste de votre application (AndroidManifest.xml), définissez l'attribut android:label sur le nom de votre cadran :

<application android:label="@string/watch_face_name" >

Déclarer la prise en charge des formes de cadran (facultatif)

Cette étape n'est nécessaire que si vous souhaitez prendre en charge un comportement différent pour différentes tailles de cadrans. Vous pouvez ignorer cette étape si vous acceptez que le cadran soit mis à l'échelle en fonction de la taille de la montre.

Dans le répertoire de ressources res/xml de votre application, déclarez l'ensemble des formes de cadran compatibles dans watch_face_shapes.xml:

<WatchFaces>
    <!-- The default shape is "CIRCLE". -->
    <WatchFace shape="CIRCLE" width="300" height="300"
               file="@raw/watchface"/>
    <WatchFace shape="CIRCLE" width="450" height="450"
               file="@raw/watchface_large_circle"/>
    <WatchFace shape="RECTANGLE" width="380" height="400"
               file="@raw/watchface_rectangle"/>
</WatchFaces>

Déclarer les détails du cadran

Dans le répertoire de ressources res/raw de votre application, créez les fichiers correspondant aux valeurs d'attribut file utilisées lorsque vous déclarez la prise en charge des formes de cadran.

C'est là que vous définirez l'apparence et le comportement de chaque cadran. Si vous n'avez pas défini de fichier de formes, vous n'avez besoin de créer qu'un seul fichier, watchface.xml.

En reprenant l'exemple de cette page, les fichiers XML bruts seraient :

  • res/raw/watchface.xml
  • res/raw/watchface_large_circle.xml
  • res/raw/watchface_rectangle.xml

L'élément racine est toujours WatchFace :

<WatchFace width="450" height="450" clipShape="CIRCLE">
    <!-- Remainder of your Watch Face Format definition here. -->
    <!-- If this file defines a watch face for a circular device shape, place
         resources used in this file in the "/res/drawable-nodpi" directory. -->
    <!-- If this file defines a watch face for a rectangular or other
         non-circular shape, place resources ued in this file in the
         "/res/drawable-notround-nodpi" directory. -->
</WatchFace>

Identifier l'éditeur du cadran (facultatif)

Dans le fichier manifeste de votre application, vous pouvez également déclarer une chaîne arbitraire que vous pouvez utiliser pour identifier l'éditeur du cadran, ou le nom et la version de l'outil que vous utilisez :

<application ...>
    ...
    <property
        android:name="com.google.wear.watchface.format.publisher"
        android:value="{toolName}-{toolVersion}" />
</application>

Vérifier l'exactitude et les performances de votre cadran

Pendant le développement et avant d'importer votre cadran sur Google Play, utilisez les outils de validation pour vérifier qu'il ne comporte aucune erreur et qu'il respecte les recommandations d'utilisation de la mémoire.

Créer l'app bundle de votre cadran

Pour compiler l'Android App Bundle qui contient votre cadran, utilisez le système de compilation Gradle. Découvrez comment créer une application à l'aide de Gradle.

Cela est illustré dans les exemples GitHub.