Penyiapan Format Tampilan Jam

Catatan: Halaman ini menunjukkan langkah proses untuk mengelola konfigurasi tampilan jam secara manual. Jika Anda ingin mendesain tampilan jam menggunakan alat gaya WYSIWYG (apa yang Anda lihat adalah apa yang Anda dapatkan), lihat panduan Watch Face Studio terlebih dahulu.

Panduan ini mencakup langkah-langkah pada alat yang Anda perlukan untuk mengonfigurasi tampilan jam menggunakan Format Tampilan Jam, beberapa saran tentang struktur project, dan panduan langkah demi langkah untuk menerapkan alat guna membuat struktur tersebut.

Prasyarat

Guna menyiapkan lingkungan pengembangan untuk menggunakan Format Tampilan Jam, selesaikan langkah-langkah penyiapan berikut:

  1. Instal SDK untuk Android 14 (API level 34) atau yang lebih baru. Jika tampilan jam tidak mengandalkan fitur atau perilaku khusus untuk versi 2, Anda dapat menginstal SDK untuk Android 13 (level API 33).

    SDK ini berisi alat lain yang diperlukan, termasuk aapt2 dan android.jar.

  2. Atau, instal Android Studio, yang juga dapat menyediakan alat ini.

Struktur project

Saat Anda membuat tampilan jam kustom yang menggunakan Format Tampilan Jam, Android App Bundle yang menyertakan file tampilan jam kustom harus sepenuhnya terpisah dari Android App Bundle yang berisi logika aplikasi Wear OS. Beberapa app store, termasuk Google Play, mencegah Anda mengupload Android App Bundle yang menyertakan logika Wear OS dan tampilan jam kustom.

Membuat paket tampilan jam

Untuk membuat Android App Bundle yang menampilkan file tampilan jam, selesaikan langkah-langkah yang ditampilkan di bagian berikut.

Mendeklarasikan penggunaan Format Tampilan Jam

Di file manifes aplikasi baru (AndroidManifest.xml), tambahkan properti aplikasi yang menunjukkan penggunaan Format Tampilan Jam oleh Anda. Kecuali jika Anda ingin membatasi akses ke tampilan jam untuk perangkat yang menjalankan Wear OS 5 atau yang lebih baru, buat 2 APK tampilan jam yang berbeda, satu yang mendukung versi 2 dan satu lagi yang mendukung versi 1. Pelajari lebih lanjut cara mengonfigurasi versi aplikasi Anda.

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

Mendeklarasikan metadata tampilan jam

Di direktori resource res/xml aplikasi Anda, buat file baru bernama watch_face_info.xml. Di sinilah Anda menentukan metadata tampilan jam:

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

Kolom dalam file ini mewakili detail berikut:

Preview
Mereferensikan drawable yang berisi gambar pratinjau tampilan jam.
Category

Menentukan kategori tampilan jam. Harus berupa string atau referensi ke string, seperti @string/ref_name. Setiap produsen perangkat dapat menentukan kumpulan kategori tampilan jamnya sendiri.

Nilai default: empty_category_meta, yang mengelompokkan tampilan jam ini dengan tampilan jam "kategori kosong" lainnya di bagian bawah tampilan pemilih tampilan jam.

AvailableInRetail

Apakah tampilan jam tersedia di mode demo promo perangkat. Harus berupa nilai boolean atau referensi ke nilai boolean seperti @bool/watch_face_available_in_retail.

Nilai default: false

MultipleInstancesAllowed

Apakah tampilan jam dapat memiliki beberapa favorit. Harus berupa nilai boolean, atau referensi ke nilai boolean, seperti @bool/watch_face_multiple_instances_allowed.

Nilai default: false

Editable

Apakah tampilan jam dapat diedit, artinya tampilan jam memiliki setelan atau setidaknya satu detail yang tidak tetap. Setelan ini digunakan untuk menampilkan atau menyembunyikan tombol Edit untuk tampilan jam dalam daftar favorit.

Nilai default: false

Mendeklarasikan nama tampilan jam

Di file manifes aplikasi (AndroidManifest.xml), tetapkan atribut android:label ke nama tampilan jam:

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

Mendeklarasikan detail tampilan jam

Struktur dokumen tampilan jam WFF dasar adalah sebagai berikut:

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

Buat file XML ini sebagai res/raw/watchface.xml saat membuat tampilan jam, jika menggunakan satu tampilan jam. Untuk mendukung berbagai bentuk dan ukuran layar, deklarasikan dukungan untuk beberapa bentuk dan ukuran.

Elemen root selalu WatchFace. height dan width menentukan cakupan ruang koordinat untuk digunakan di tampilan jam, dan tampilan jam disederhanakan agar sesuai dengan perangkat tempatnya digunakan; height dan width tidak mewakili piksel sebenarnya.

Format Tampilan Jam mengatur beberapa detail tentang tampilan jam Anda:

  • Metadata, seperti waktu dan jumlah langkah yang ditampilkan di gambar pratinjau tampilan jam.
  • Konfigurasi pengguna, seperti tema warna yang berbeda untuk tampilan jam, elemen yang dapat diaktifkan pengguna, dan pilihan di antara beberapa elemen. Format Tampilan Jam versi 2 memperkenalkan ragam, yang dapat muncul dalam konfigurasi pengguna. Setiap ragam menentukan konfigurasi pengguna preset, yang menentukan jenis dan gaya elemen yang muncul dengan waktu di tampilan jam Anda. Preset ini memudahkan Anda membuat grup elemen yang menyenangkan secara visual. Di aplikasi pendamping Wear OS, pengguna akan melihat berbagai ragam tampilan jam Anda di sepanjang baris yang dapat di-scroll.
  • Tampilan yang berisi elemen visual tampilan jam. Elemen yang muncul lebih dekat ke akhir tampilan akan muncul di atas elemen lain, sehingga urutan umumnya adalah sebagai berikut:
    • Jarum untuk jam analog atau teks untuk jam digital
    • Detail yang menampilkan informasi tambahan, seperti hari dalam seminggu atau jumlah langkah pengguna
    • Grafik lain yang memberikan minat visual atau dekorasi untuk tampilan jam, seperti gambar perkemahan
  • Grup elemen, yang memungkinkan Anda mengubah beberapa elemen secara bersamaan. Anda dapat membuat varian grup ini dalam suatu tampilan, yang memungkinkan Anda menyembunyikan atau mengubah konten secara selektif saat sistem memasuki mode alam hemat daya.

Atribut diketik dengan ketat dan memiliki panduan seputar frekuensi serta nilai yang valid agar sebagian besar sumber tidak error saat membuat tampilan jam.

Mendeklarasikan dukungan untuk bentuk tampilan jam (opsional)

Langkah ini hanya diperlukan jika Anda ingin mendukung perilaku yang berbeda untuk berbagai ukuran tampilan jam. Anda dapat melewati langkah ini jika tidak keberatan tampilan jam diskalakan dengan ukuran smartwatch.

Di direktori resource res/xml aplikasi Anda, deklarasikan kumpulan bentuk tampilan jam yang Anda dukung di watch_face_shapes.xml:

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

Kemudian, tentukan tampilan dan perilaku tampilan jam untuk setiap bentuk tampilan jam. Jika tidak menentukan file bentuk, Anda hanya perlu membuat satu file, watchface.xml.

Dengan menggunakan contoh dari bagian ini, file XML mentahnya adalah:

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

Mengidentifikasi penayang tampilan jam (opsional)

Secara opsional, di file manifes aplikasi, deklarasikan string arbitrer yang dapat digunakan untuk mengidentifikasi penayang tampilan jam, atau nama dan versi alat yang Anda gunakan:

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

Memeriksa kebenaran dan performa tampilan jam

Selama pengembangan, dan sebelum mengupload ke Google Play, gunakan alat validator untuk memeriksa apakah tampilan jam Anda bebas dari error, dan apakah tampilan jam tersebut mematuhi rekomendasi penggunaan memori.

Mem-build app bundle tampilan jam

Untuk mem-build Android App Bundle yang berisi tampilan jam, gunakan sistem build Gradle. Pelajari lebih lanjut cara mem-build aplikasi menggunakan Gradle.

Hal ini ditunjukkan dalam contoh GitHub.