Watch Face-Format einrichten

Dieser Leitfaden enthält Schritte zu den Tools, die du zum Konfigurieren eines Zifferblatts mithilfe des Watch Face-Formats benötigst, einige Vorschläge zur Projektstruktur und eine detaillierte Anleitung zum Anwenden der Tools, um diese Struktur zu erstellen.

Voraussetzungen

Führen Sie die folgenden Schritte aus, um Ihre Entwicklungsumgebung für die Verwendung des Zifferblattformats vorzubereiten:

  1. Installieren Sie das SDK für Android 14 (API-Level 34) oder höher. Wenn Ihr Zifferblatt keine für Version 2 spezifischen Funktionen oder Verhaltensweisen verwendet, können Sie stattdessen das SDK für Android 13 (API-Level 33) installieren.

    Das SDK enthält auch andere erforderliche Tools, darunter aapt2 und android.jar.

  2. Alternativ können Sie Android Studio installieren, das diese Tools ebenfalls bietet.

Projektstruktur

Wenn Sie ein benutzerdefiniertes Zifferblatt erstellen, das das Watch Face-Format verwendet, muss das Android App-Bundle, das die Datei des benutzerdefinierten Zifferblatts enthält, vollständig vom Android App-Bundle getrennt sein, das die Logik Ihrer Wear OS-App enthält. In einigen App-Shops, z. B. bei Google Play, kannst du kein Android App Bundle hochladen, das sowohl Wear OS-Logik als auch ein benutzerdefiniertes Zifferblatt enthält.

Set mit Zifferblättern erstellen

Führen Sie die Schritte in den folgenden Abschnitten aus, um ein Android-App-Bundle mit einer Zifferblattdatei zu erstellen.

Verwendung des Watch Face-Formats angeben

Fügen Sie der Manifestdatei (AndroidManifest.xml) Ihrer neuen App ein Anwendungsattribut hinzu, das die Verwendung des Watch Face-Formats angibt. Sofern Sie den Zugriff auf Ihr Zifferblatt nicht auf Geräte mit Wear OS 5 oder höher beschränken möchten, erstellen Sie zwei verschiedene Zifferblatt-APKs, eine für Version 2 und eine für Version 1. Weitere Informationen zum Konfigurieren von Versionen Ihrer App

<?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>

Zifferblatt-Metadaten angeben

Erstellen Sie im Ressourcenverzeichnis res/xml Ihrer App eine neue Datei mit dem Namen watch_face_info.xml. Hier definieren Sie die Metadaten Ihres Zifferblatts:

<?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>

Die Felder in dieser Datei stehen für die folgenden Details:

Preview
Verweist auf das drawable-Element, das ein Vorschaubild des Zifferblatts enthält.
Category

Definiert die Kategorie des Zifferblatts. Muss ein String oder ein Verweis auf einen String sein, z. B. @string/ref_name. Jeder Gerätehersteller kann seine eigenen Zifferblattkategorien definieren.

Standardwert: empty_category_meta. Das Zifferblatt wird dann zusammen mit anderen Zifferblättern der Kategorie „Leere Kategorie“ unten in der Auswahl angezeigt.

AvailableInRetail

Gibt an, ob das Zifferblatt im Demomodus für den Einzelhandel des Geräts verfügbar ist. Muss ein boolescher Wert oder ein Verweis auf einen booleschen Wert wie @bool/watch_face_available_in_retail sein.

Standardwert: false

MultipleInstancesAllowed

Ob das Zifferblatt mehrere Favoriten haben kann. Muss ein boolescher Wert oder ein Verweis auf einen booleschen Wert wie @bool/watch_face_multiple_instances_allowed sein.

Standardwert: false

Editable

Ob das Zifferblatt bearbeitbar ist, d. h., ob es eine Einstellung oder mindestens eine nicht feste Zusatzfunktion hat. So können Sie die Schaltfläche Bearbeiten für das Zifferblatt in der Favoritenliste ein- oder ausblenden.

Standardwert: false

Name des Zifferblatts angeben

Legen Sie in der Manifestdatei Ihrer App (AndroidManifest.xml) das Attribut android:label auf den Namen Ihres Zifferblatts fest:

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

Unterstützung für Zifferblattformen angeben (optional)

Dieser Schritt ist nur erforderlich, wenn Sie ein anderes Verhalten für verschiedene Zifferblattgrößen unterstützen möchten. Sie können diesen Schritt überspringen, wenn das Zifferblatt mit der Größe der Smartwatch skaliert werden soll.

Deklarieren Sie im Ressourcenverzeichnis res/xml Ihrer App die Zifferblattformen, die Sie in watch_face_shapes.xml unterstützen:

<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>

Zifferblattdetails angeben

Erstellen Sie im Ressourcenverzeichnis res/raw Ihrer App Dateien, die den file-Attributwerten entsprechen, die Sie bei der Deklarierung der Unterstützung von Zifferblattformen verwendet haben.

Hier definieren Sie das Aussehen und das Verhalten des Zifferblatts für jede Zifferblattform. Wenn Sie keine Formdatei definiert haben, müssen Sie nur eine Datei erstellen: watchface.xml.

Anhand des Beispiels auf dieser Seite wären das die Roh-XML-Dateien:

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

Das Stammelement ist immer 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>

Zifferblatt-Publisher angeben (optional)

Optional können Sie in der Manifestdatei Ihrer App einen beliebigen String deklarieren, mit dem Sie den Publisher des Zifferblatts oder den Namen und die Version des verwendeten Tools angeben können:

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

Richtigkeit und Leistung des Zifferblatts prüfen

Verwenden Sie während der Entwicklung und vor dem Hochladen bei Google Play die Validierungstools, um zu prüfen, ob Ihr Zifferblatt frei von Fehlern ist und die Empfehlungen zur Speichernutzung einhält.

App-Bundle für Zifferblätter erstellen

Verwenden Sie das Gradle-Build-System, um das Android App Bundle zu erstellen, das Ihr Zifferblatt enthält. Weitere Informationen zum Erstellen einer App mit Gradle

Das wird in den GitHub-Beispielen veranschaulicht.