Penyiapan Format Tampilan Jam

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 13 (API level 33) atau yang lebih baru. SDK ini berisi alat lain yang diperlukan, termasuk aapt2 dan android.jar.
  2. Instal program command line bundletool.
  3. Menandatangani versi debug aplikasi yang berisi desain tampilan jam. Anda dapat membuat Android App Bundle yang ditandatangani di Android Studio, atau Anda dapat menandatangani build debug secara manual.

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:

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

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>
    <!-- Only "Preview" is required. -->
    <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 dukungan untuk bentuk tampilan jam

Dalam direktori resource res/xml aplikasi Anda, deklarasikan kumpulan bentuk tampilan jam yang Anda dukung:

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

Mendeklarasikan detail tampilan jam

Di direktori resource res/raw aplikasi Anda, buat file yang sesuai dengan nilai atribut file yang digunakan saat Anda mendeklarasikan dukungan untuk bentuk tampilan jam. Di sinilah Anda akan menentukan tampilan dan perilaku tampilan jam untuk setiap bentuk tampilan jam.

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

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

Elemen root selalu 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>

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="{toolName}-{toolVersion}" />
</application>

Membangun app bundle tampilan jam

Untuk membangun Android App Bundle yang berisi tampilan jam, gunakan bundletool. Pelajari cara membangun aplikasi menggunakan bundletool lebih lanjut.

Lihat contoh GitHub tentang cara menyiapkan app bundle untuk publikasi, serta alat validator untuk memeriksa ketepatan sebelum mengirimkannya ke Google Play.