Zifferblatt-Push

Mit Wear OS 6 wird die neue API „Watch Face Push“ eingeführt, die erweiterte Anwendungsfälle für das Veröffentlichen von Zifferblättern ermöglicht.

Festlegen, wann Zifferblatt-Push verwendet werden soll

Die Watch Face Push API ist eine Wear OS-API, mit der Entwickler Zifferblätter direkt hinzufügen, aktualisieren oder entfernen können. Für die Entwicklung von Standard-Zifferblättern ist sie nicht erforderlich.

Zifferblätter, die mit der Funktion „Zifferblatt-Push“ verwendet werden, müssen im Watch Face-Format geschrieben werden. Dazu gehören auch Zifferblätter, die mit Watch Face Studio oder einem anderen Tool erstellt wurden, mit dem Zifferblätter im Watch Face-Format erstellt werden.

Die Watch Face Push API kann auf verschiedene Arten verwendet werden. Die folgende Tabelle dient als Leitfaden für die wichtigsten Anwendungsfälle:

Anwendungsfall Empfohlene Lösung Komplexität
Ich möchte individuelle Zifferblätter erstellen und veröffentlichen. Verwenden Sie das Watch Face-Format, entweder direkt oder über ein Tool wie Watch Face Studio, und veröffentlichen Sie Ihre Zifferblätter bei Google Play. Geringe Anzahl
Ich möchte eine Smartphone-App erstellen, mit der Nutzer Zifferblätter aus einer ausgewählten Sammlung auswählen oder Zifferblätter entwerfen und anpassen können, die direkt auf ihrer Wear OS-Smartwatch installiert werden. Mit der Watch Face Push API auf der Smartwatch eine App für Smartwatch und Smartphone erstellen Hoch

Zweck

Der Standard-Nutzungsfall für die Watch Face Push API ist die Erstellung einer Marktplatz-App. Über diese App können Nutzer Zifferblätter aus einer ausgewählten Sammlung auf ihrem Smartphone auswählen und die Installation dieser Zifferblätter auf ihrer verbundenen Smartwatch direkt steuern.

Wissenswertes

Weitere Informationen zum Erstellen von Zifferblättern finden Sie in der Anleitung zum Watch Face-Format. Zifferblätter, die mit Watch Face Push bereitgestellt werden, sind reguläre Zifferblätter im Watch Face-Format.

Beachten Sie beim Erstellen Ihres Zifferblatts die folgenden Punkte.

Paketnamen

Zifferblätter, die über die Funktion „Zifferblatt-Push“ installiert werden, müssen der folgenden Konvention entsprechen:

<app name>.watchfacepush.<watchface name>

Dabei ist <app name> der Paketname der App, die die Watch Face Push API aufruft.

Für eine App mit dem Paketnamen com.example.mymarketplace sind beispielsweise folgende Paketnamen für Zifferblätter gültig:

  • com.example.mymarketplace.watchfacepush.watchface1
  • com.example.mymarketplace.watchfacepush.watchface2
  • com.example.mymarketplace.watchfacepush.another_watchface

Zifferblätter, die dieser Konvention nicht entsprechen, werden von der API abgelehnt.

Paketinhalt

Die Einhaltung der Richtlinien für den APK-Inhalt wird streng durchgesetzt. Das Watch Face-Format muss den folgenden Einschränkungen entsprechen: Es ist technisch möglich, Watch Face-Format-APKs zu erstellen, die harmlose Metadatendateien und andere Artefakte enthalten, die für Google Play akzeptabel sind, aber die Push-Validierung für das Zifferblatt nicht bestehen (siehe unten).

In jedem Zifferblatt-APK sind nur die folgenden Dateien/Pfade zulässig:

  • /AndroidManifest.xml
  • /resources.arsc
  • /res/**
  • /META-INF/**

Außerdem sind in der Datei AndroidManifest.xml nur die folgenden Tags zulässig:

  • <manifest>
  • <uses-feature>
  • <uses-sdk>
  • <application>
  • <property>
  • <meta-data>

Schließlich sollte das Paket eine minSdk von mindestens 33 angeben und das <application>-Tag das Attribut android:hasCode="false".

Zertifizierungsstufe

Anders als bei regulären Zifferblättern, die über Google Play vertrieben werden, liegt die Verantwortung für die Überprüfung, ob jedes Zifferblatt korrekt formatiert und leistungsfähig ist, bei der Marktplatz-App.

Google Play verwendet die folgenden Validierungschecks, um die Qualität jedes Zifferblatts zu prüfen, das die Push-Funktion für Zifferblätter verwendet:

  1. Alle Zifferblätter, die über die Watch Face Push API installiert oder aktualisiert werden, müssen das Validierungstool für die Watch Face Push API bestehen.
  2. Nur das offizielle Validierungstool darf verwendet werden, um Validierungstokens für die Verwendung mit der API zu generieren.
  3. Das verwendete Validierungstool muss zum Zeitpunkt der Validierung auf dem neuesten Stand sein.
  4. Ein APK, das sich nicht geändert hat, muss nicht noch einmal validiert werden. Tokens laufen nicht ab, auch wenn die Version des verwendeten Validierungstools ersetzt wird.

    Wir empfehlen Ihnen jedoch, die Validierung von Zeit zu Zeit noch einmal durchzuführen, da der Validator regelmäßig aktualisiert wird.

Validator ausführen

So führen Sie den Validator für ein Zifferblatt-APK aus:

  1. Sie können den Validator im Maven-Repository von Google herunterladen.
  2. Führen Sie das Tool so aus:

    java -jar validator-push-cli-1.0.0-alpha01.jar \
        --apk_path=youwatchface.apk \
        --package_name=<your marketplace package name>
    

    Bei Erfolg enthält die Ausgabe ein Validierungstoken, das Sie der Watch Face Push API angeben müssen, wenn Sie ein Zifferblatt hinzufügen oder aktualisieren.

    Wenn ein Fehler auftritt, enthält die Ausgabe Details dazu, welche Prüfung fehlgeschlagen ist.

    Ein Beispiel für die Einbindung des Befehlszeilentools „validator“ in einen Gradle-Build finden Sie im Beispiel für das Pushen von Zifferblättern auf GitHub.

APK-Größe

Bei Zifferblättern mit Push-Funktion ist besondere Vorsicht geboten, damit die APK-Größe möglichst klein bleibt: Das Zifferblatt-APK wird wahrscheinlich über Bluetooth von der Smartphone-App an die Smartwatch-App übertragen, was zu Verzögerungen führen kann.

Die Übertragung eines zu großen APK kann sehr lange dauern. Das beeinträchtigt nicht nur die Nutzerfreundlichkeit, sondern auch den Akku.

  • Verwenden Sie geeignete Bibliotheken wie pngquant, um die Größe von Bilddateien auf ein Minimum zu beschränken.
    • Fügen Sie dies in den Erstellungsprozess Ihrer Zifferblattkollektion ein.
    • Prüfen Sie, ob die Abmessungen des Bildes für den Maßstab geeignet sind, in dem es verwendet werden soll.
    • Achten Sie darauf, dass die Bilder richtig zugeschnitten sind, damit der Hintergrund nicht zu sehen ist.
  • Größe der Schriftdateien reduzieren

Weitere Vorschläge zur Minimierung der APK-Größe finden Sie in der Anleitung zur Optimierung der Arbeitsspeichernutzung.

APK-Signatur

Wie bei einer regulären APK müssen alle Ihre Zifferblätter signiert sein. Erstellen Sie einen anderen Schlüssel als den, der für Ihre Haupt-App verwendet wird, und verwenden Sie diesen Schlüssel für alle Ihre Zifferblätter.

Architektur

Betrachten Sie die drei Hauptkomponenten des Systems:

  1. Cloud-basierter Speicher: In der kanonischen Marketplace App werden Ihre Zifferblätter erstellt und in der Cloud gespeichert, sodass sie von Ihren Nutzern verwendet werden können. Die Zifferblätter sind:
    1. Als reguläre APKs im Zifferblattformat vorkonfiguriert
    2. Jedes Paket enthält nur ein einziges Zifferblatt im Watch Face-Format.
    3. Sie wurden mit dem Push-Validierungsprozess für Zifferblätter validiert und zusammen mit dem zugehörigen Validierungstoken gespeichert.
    4. Sie können bei Bedarf von der Smartphone-App abgerufen werden.
  2. Smartphone-App: Die Smartphone-App ist die Hauptmethode, mit der Nutzer mit Ihrem System interagieren. So können sie Folgendes tun:
    1. Zifferblattkatalog durchsuchen und darin suchen
    2. Zifferblatt auf der Smartwatch installieren oder ersetzen
  3. Smartwatch-App: Die Smartwatch-App hat in der Regel keine umfangreiche Benutzeroberfläche. Sie dient in erster Linie als Brücke zwischen der Smartphone-App und den Push-APIs für das Zifferblatt mit den folgenden Funktionen:
    1. Zifferblätter mit der Watch Face Push API installieren, aktualisieren oder ersetzen
    2. Erforderliche Berechtigungen anfordern und Nutzer auffordern
    3. Standard-Zifferblatt bereitstellen
    4. Bereitstellung eines minimalen Caches mit Zifferblättern
  4. Kommunikation zwischen Smartphone und Smartwatch: Die Kommunikation zwischen der Smartphone- und der Smartwatch-App ist entscheidend für den Erfolg der gesamten App. Wear OS Data Layer APIs verwenden, die Folgendes ermöglichen:
    1. Installationserkennung: Mithilfe von Capabilities und der CapabilityClient kann die Smartphone-App erkennen, dass die Smartwatch-App nicht installiert ist, und umgekehrt. Anschließend kann eine Intent zum Play Store gestartet werden, um den fehlenden Formfaktor zu installieren.
    2. Statusverwaltung: Mit DataClient oder MessageClient kann das Smartphone mit dem Status der Smartwatch synchronisiert werden, damit beispielsweise das Smartphone weiß, welches Zifferblatt eingestellt ist.
    3. APK-Übertragung: Mit ChannelClient oder MessageClient können APKs vom Smartphone an die Smartwatch gesendet werden.
    4. Remoteaufruf: Über Messageclient kann das Smartphone die Smartwatch anweisen, die Watch Face Push API aufzurufen, um beispielsweise ein Zifferblatt zu installieren.

Weitere Informationen finden Sie in der Anleitung für die Data Layer API.