Watch Face-Format einrichten

Hinweis: Auf dieser Seite wird ein Schritt zur manuellen Verwaltung der Zifferblattkonfiguration veranschaulicht. Wenn Sie Ihr Zifferblatt stattdessen mit einem WYSIWYG-Tool (What You See Is What You Get, „Was Sie sehen, ist das, was Sie bekommen“) entwerfen möchten, lesen Sie zuerst die Anleitungen für Watch Face Studio.

Dieser Leitfaden enthält Schritte zu den Tools, die Sie zum Konfigurieren eines Zifferblatts mit dem Watch Face-Format benötigen, einige Vorschläge zur Projektstruktur und eine detaillierte Anleitung zum Anwenden der Tools zum Erstellen dieser Struktur.

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. Einige App-Shops, einschließlich Google Play, verhindern, dass Sie ein 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

<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"
        ...>
        <meta-data android:name="com.google.android.wearable.standalone"
            android:value="true" />
        <property
            android:name="com.google.wear.watchface.format.version"
            android:value="2" />
    </application>
</manifest>

Metadaten für Zifferblätter 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>

    <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, 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 (AndroidManifest.xml) Ihrer App das Attribut android:label auf den Namen Ihres Zifferblatts fest:

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

Details zum Zifferblatt angeben

Die Struktur eines einfachen WFF-Zifferblattdokuments sieht so aus:

<WatchFace width="450" height="450">
  <Scene>
    <!-- Content to be rendered -->
  </Scene>
</WatchFace>

Erstellen Sie diese XML-Datei als res/raw/watchface.xml, wenn Sie ein einzelnes Zifferblatt erstellen. Wenn Sie verschiedene Bildschirmformen und ‑größen unterstützen möchten, deklarieren Sie die Unterstützung mehrerer Formen und Größen.

Das Stammelement ist immer WatchFace. height und width definieren den Umfang des Koordinatenraums für die Verwendung auf Ihrem Zifferblatt. Das Zifferblatt wird auf das Gerät skaliert, auf dem es verwendet wird. height und width stehen nicht für tatsächliche Pixel.

Im Watch Face-Format werden verschiedene Details Ihres Zifferblatts organisiert:

  • Metadaten wie Uhrzeit und Schrittzahl, die im Vorschaubild des Zifferblatts angezeigt werden.
  • Nutzerkonfigurationen, z. B. verschiedene Farbschemata für das Zifferblatt, vom Nutzer umschaltbare Elemente und eine Auswahl aus mehreren Elementen. In der Version 2 des Zifferblattformats werden Varianten eingeführt, die in einer Nutzerkonfiguration angezeigt werden können. Für jede Variante wird eine vordefinierte Nutzerkonfiguration angegeben, in der der Typ und der Stil der Elemente festgelegt wird, die zusammen mit der Uhrzeit auf dem Zifferblatt angezeigt werden. Mit diesen Voreinstellungen können Sie einfacher visuell ansprechende Gruppen von Elementen erstellen. In der Wear OS Companion App sehen Nutzer die verschiedenen Varianten Ihres Zifferblatts in einer scrollbaren Zeile.
  • Eine Szene mit den visuellen Elementen eines Zifferblatts. Elemente, die näher am Ende der Szene erscheinen, werden über anderen Elementen angezeigt. Die typische Reihenfolge ist daher:
    • Die Zeiger einer analogen Uhr oder der Text einer digitalen Uhr
    • Zusatzfunktionen, die zusätzliche Informationen anzeigen, z. B. den Wochentag oder die Schrittzahl eines Nutzers
    • Andere Grafiken, die das Zifferblatt optisch ansprechender oder verzieren, z. B. ein Bild eines Campingplatzes
  • Elementgruppen, mit denen Sie mehrere Elemente gleichzeitig ändern können. Sie können Varianten dieser Gruppen innerhalb einer Szene erstellen, mit denen Sie Inhalte selektiv ausblenden oder ändern können, wenn das System in den energiesparenden Inaktivitätsmodus wechselt.

Attribute sind stark typisiert und haben Richtlinien für Häufigkeit und gültige Werte, um die meisten Fehlerquellen beim Erstellen eines Zifferblatts zu vermeiden.

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>

    <WatchFace shape="CIRCLE" width="300" height="300"
               file="@raw/watchface"/>
    <WatchFace shape="CIRCLE" width="450" height="450"
               file="@raw/watchface_large_circle"/>

    <!-- Remove any references to rectangular watch faces -->
    <WatchFace shape="RECTANGLE" width="380" height="400"
               file="@raw/watchface_rectangle"/>
</WatchFaces>

Legen Sie dann das Aussehen und Verhalten des Zifferblatts für jede Zifferblattform fest. Wenn Sie keine Shapefile definiert haben, müssen Sie nur eine Datei erstellen, watchface.xml.

Anhand des Beispiels in diesem Abschnitt wären das die Roh-XML-Dateien:

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

Zifferblatt-Publisher angeben (optional)

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

<application ...>
    ...
    <property
        android:name="com.google.wear.watchface.format.publisher"
        android:value="<var>{toolName}-{toolVersion}</var>" />
</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 den Empfehlungen zur Speichernutzung entspricht.

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.