Watch Face-Format einrichten

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

Voraussetzungen

So bereiten Sie die Entwicklungsumgebung auf die Verwendung des Watch Face-Formats vor:

  1. Installieren Sie das SDK für Android 14 (API-Level 34) oder höher. Wenn dein Zifferblatt nicht auf Funktionen oder Verhalten von Version 2 angewiesen ist, kannst du stattdessen das SDK für Android 13 (API-Level 33) installieren.

    Das SDK enthält weitere erforderliche Tools, einschließlich aapt2 und android.jar.

  2. Alternativ kannst du Android Studio installieren, über das auch diese Tools bereitgestellt werden.

Projektstruktur

Wenn du ein benutzerdefiniertes Zifferblatt erstellst, für das das Watch Face-Format verwendet wird, muss das Android App Bundle, das die Datei für das benutzerdefinierte Zifferblatt enthält, vollständig getrennt von dem Android App Bundle sein, das die Logik deiner 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.

Zifferblattset erstellen

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

Die Verwendung des Watch Face-Formats erklären

Fügen Sie in der Manifestdatei AndroidManifest.xml Ihrer neuen App eine Anwendungseigenschaft hinzu, die Ihre Verwendung des Watch Face-Formats angibt. Wenn du den Zugriff auf das Zifferblatt nicht für Geräte mit Wear OS 5 oder höher einschränken möchtest, solltest du zwei verschiedene Zifferblatt-APKs erstellen: eine, die Version 2 unterstützt, und eine, die Version 1 unterstützt. Weitere Informationen zur Konfiguration von Versionen Ihrer App

APK, das Version 2 unterstützt

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest ...>
    <application ...>
        <property
            android:name="com.google.wear.watchface.format.version"
            android:value="2" />
    </application>
</manifest>

APK, das Version 1 unterstützt

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest ...>
    <application ...>
        <property
            android:name="com.google.wear.watchface.format.version"
            android:value="1" />
    </application>
</manifest>

Zifferblatt-Metadaten angeben

Erstellen Sie im Ressourcenverzeichnis res/xml Ihrer Anwendung 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 stellen die folgenden Details dar:

Preview
Referenziert 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, der dieses Zifferblatt mit anderen Zifferblättern „leere Kategorie“ am unteren Rand der Zifferblattauswahl gruppiert.

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

Gibt an, ob das Zifferblatt bearbeitbar ist. Das bedeutet, dass es eine Einstellung oder mindestens eine nicht fixierte Zusatzfunktion hat. Damit wird die Schaltfläche Bearbeiten für das Zifferblatt in der Favoritenliste ein- oder ausgeblendet.

Standardwert: false

Zifferblattname angeben

Lege in der Manifestdatei (AndroidManifest.xml) deiner App das Attribut android:label auf den Namen deines Zifferblatts fest:

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

Unterstützung für Zifferblattformen deklarieren (optional)

Dieser Schritt ist nur erforderlich, wenn du unterschiedliches Verhalten für verschiedene Zifferblattgrößen unterstützen möchtest. Sie können diesen Schritt überspringen, wenn das Zifferblatt an die Größe der Uhr angepasst werden soll.

Deklariere im Ressourcenverzeichnis res/xml deiner App die Zifferblattformen, die du in watch_face_shapes.xml unterstützt:

<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

Erstelle im res/raw-Ressourcenverzeichnis deiner App Dateien, die den file-Attributwerten entsprechen, die verwendet werden, wenn du die Unterstützung für Zifferblattformen deklarierst.

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

Im Beispiel auf dieser Seite wären die XML-Rohdateien wie folgt:

  • 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" shape="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 identifizieren (optional)

Deklarieren Sie optional in der Manifestdatei Ihrer App einen beliebigen String, mit dem Sie den Publisher des Zifferblatts oder den Namen und die Version des Tools identifizieren können, das Sie verwenden:

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

Richtigkeit und Leistung des Zifferblatts prüfen

Verwende während der Entwicklung und vor dem Hochladen bei Google Play die Validator-Tools, um zu prüfen, ob dein Zifferblatt frei von Fehlern und den Empfehlungen zur Speichernutzung entspricht.

App-Bundle für Zifferblätter erstellen

Verwende das Gradle-Build-System, um das Android App Bundle mit deinem Zifferblatt zu erstellen. Weitere Informationen zum Erstellen einer App mit Gradle

Dies wird in den GitHub-Beispielen veranschaulicht.