Wear OS 6 memperkenalkan API baru, Watch Face Push, yang menciptakan peluang untuk kasus penggunaan publikasi tampilan jam yang lebih canggih.
Mengidentifikasi kapan harus menggunakan Watch Face Push
Watch Face Push adalah API di Wear OS yang memungkinkan developer menambahkan, memperbarui, atau menghapus tampilan jam secara langsung. Hal ini tidak diperlukan untuk pengembangan tampilan jam standar.
Tampilan jam yang digunakan dengan Watch Face Push harus ditulis menggunakan Format Tampilan Jam. Hal ini dapat mencakup tampilan jam yang didesain menggunakan Watch Face Designer, Watch Face Studio, atau alat lain yang menghasilkan tampilan jam yang menggunakan Format Tampilan Jam.
Meskipun Watch Face Push API berpotensi digunakan dalam sejumlah cara, tabel berikut memandu Anda melalui kasus penggunaan utama:
Kasus penggunaan | Solusi yang disarankan | Kompleksitas |
---|---|---|
Saya ingin membuat dan memublikasikan setiap tampilan jam. | Gunakan Format Tampilan Jam, baik secara langsung maupun melalui alat seperti Watch Face Designer atau Watch Face Studio, dan publikasikan di Google Play. | Rendah |
Saya ingin membuat aplikasi ponsel yang memungkinkan pengguna memilih tampilan jam dari koleksi pilihan, atau mendesain dan menyesuaikan tampilan jam untuk diinstal langsung di smartwatch Wear OS mereka. | Buat aplikasi, untuk smartwatch dan ponsel, menggunakan Watch Face Push API di smartwatch. | Tinggi |
Tujuan
Kasus penggunaan kanonis untuk Watch Face Push API adalah untuk membuat aplikasi marketplace. Dari aplikasi ini, pengguna dapat memilih tampilan jam dari koleksi pilihan di ponsel mereka, dan mengontrol langsung penginstalan tampilan jam ini ke smartwatch yang terhubung.
Pertimbangan
Untuk mengetahui detail tentang cara membuat tampilan jam, lihat panduan Format Tampilan Jam: Tampilan jam yang di-deploy menggunakan Watch Face Push adalah tampilan jam Format Tampilan Jam reguler.
Saat membuat tampilan jam, perhatikan pertimbangan berikut.
Nama paket
Tampilan jam yang diinstal menggunakan Watch Face Push harus sesuai dengan konvensi berikut:
<app name>.watchfacepush.<watchface name>
... dengan <app name>
adalah nama paket aplikasi yang memanggil Watch Face
Push API.
Misalnya, untuk aplikasi dengan nama paket com.example.mymarketplace
, nama paket tampilan jam berikut valid:
com.example.mymarketplace.watchfacepush.watchface1
com.example.mymarketplace.watchfacepush.watchface2
com.example.mymarketplace.watchfacepush.another_watchface
API menolak tampilan jam yang tidak sesuai dengan konvensi ini.
Isi paket
Sistem secara ketat menerapkan konten APK. Secara teknis, APK Format Tampilan Jam yang berisi file metadata tidak berbahaya dan artefak lainnya dapat dibuat, yang mungkin dapat diterima oleh Google Play, tetapi tidak lulus validasi Push Tampilan Jam (lihat di bawah).
Setiap APK tampilan jam hanya boleh berisi file/jalur berikut:
/AndroidManifest.xml
/resources.arsc
/res/**
/META-INF/**
Selain itu, file AndroidManifest.xml
hanya boleh berisi tag berikut:
<manifest>
<uses-feature>
<uses-sdk>
<application>
<property>
<meta-data>
Terakhir, paket harus menentukan minSdk
minimal 33
, dan
tag <application>
harus menentukan atribut android:hasCode="false"
.
Validasi
Tidak seperti tampilan jam biasa yang didistribusikan melalui Google Play, aplikasi Marketplace bertanggung jawab untuk memverifikasi bahwa setiap tampilan jam Watch Face Push memiliki bentuk yang baik dan berperforma tinggi.
Watch Face Push menggunakan pemeriksaan validasi berikut untuk memverifikasi kualitas setiap tampilan jam:
- Semua tampilan jam yang diinstal atau diperbarui melalui Watch Face Push API harus lulus alat validasi Watch Face Push.
- Gunakan hanya alat validasi resmi untuk membuat token validasi untuk digunakan dengan API.
- Alat validasi harus diupdate saat Anda menjalankan validasi.
Anda tidak perlu memvalidasi ulang APK yang tidak berubah. Token tidak berakhir, meskipun versi alat validasi yang digunakan digantikan.
Pada saat yang sama, sebaiknya Anda menjalankan kembali validasi sesekali, karena validator diperbarui secara berkala.
Menjalankan validator
Validator tersedia dalam tiga bentuk:
- Alat CLI
- Library untuk digunakan dengan JVM
- Library untuk digunakan di Android
Penggunaan validator command line
- Dapatkan validator dari repositori Maven Google.
Jalankan alat sebagai berikut:
java -jar validator-push-cli-1.0.0-alpha07.jar \ --apk_path=<your watch face>.apk \ --package_name=<your marketplace package name>
Jika berhasil, output akan menyertakan token validasi, yang harus Anda berikan ke Watch Face Push API saat menambahkan atau memperbarui tampilan jam.
Jika terjadi error, output akan menyertakan detail tentang pemeriksaan tertentu yang gagal.
Penggunaan validator library
Sertakan repositori Google dan Jitpack. Keduanya diperlukan untuk menggunakan library validator.
repositories { ... google() maven { url = uri("https://jitpack.io") content { includeGroup("com.github.xgouchet") } } }
Sertakan dependensi validator dalam project Anda:
// For use on JVM implementation("com.google.android.wearable.watchface.validator:validator-push:1.0.0-alpha07") // For use on Android implementation("com.google.android.wearable.watchface.validator:validator-push-android:1.0.0-alpha07")
Jalankan validator:
val validator = DwfValidatorFactory.create() val result = validator.validate(watchFaceFile, appPackageName) if (result.failures().isEmpty()) { val token = result.validationToken() println("Validation token: $token") // Validation success - continue with the token // ... } else { // There were failures, handle them accordingly - validation has failed. result.failures().forEach { failure -> println("FAILURE: ${failure.name()}: ${failure.failureMessage()}") // ... } }
Untuk contoh penggunaan library ini, lihat contoh GitHub. Lihat juga library Portable Asset Compiler Kit (Pack), yang berguna untuk mem-build APK di perangkat, untuk digunakan dengan validator berbasis Android.
Ukuran APK
Berhati-hatilah dengan tampilan jam Watch Face Push untuk meminimalkan ukuran APK: APK tampilan jam kemungkinan akan ditransmisikan dari aplikasi ponsel ke aplikasi smartwatch melalui Bluetooth, yang bisa lambat.
APK yang terlalu besar dapat memerlukan waktu yang cukup lama untuk ditransmisikan, yang merupakan pengalaman pengguna yang buruk dan juga menguras baterai.
- Gunakan library yang sesuai seperti
pngquant
untuk menjaga ukuran file gambar tetap minimum- Sertakan ini dalam proses build koleksi tampilan jam Anda
- Periksa dimensi gambar sesuai untuk skala yang Anda gunakan.
- Pangkas gambar dengan benar untuk menghapus latar belakang di sekitarnya.
- Mengurangi ukuran file font
- Misalnya, jika Anda hanya menggunakan font tertentu untuk menampilkan waktu, dalam format
HH:MM
, Anda dapat menggunakan alat sepertipyftsubset
untuk membatasi file font agar hanya berisi glif yang diperlukan. Hal ini dapat mengurangi ukuran file font dan APK yang dihasilkan secara signifikan. Lihat postingan blog ini untuk mengetahui detail tentang cara meminimalkan ukuran file font, untuk kasus lainnya.
- Misalnya, jika Anda hanya menggunakan font tertentu untuk menampilkan waktu, dalam format
Lihat Panduan mengoptimalkan penggunaan memori untuk mengetahui saran lebih lanjut tentang meminimalkan ukuran APK.
Penandatanganan APK
Sebagai APK reguler, Anda harus menandatangani semua tampilan jam. Buat kunci yang berbeda dari kunci yang Anda gunakan dengan aplikasi utama dan gunakan kunci yang berbeda untuk semua tampilan jam Anda.
Arsitektur
Pertimbangkan empat komponen utama sistem:
- Penyimpanan berbasis cloud: Di aplikasi Marketplace kanonis, Anda membuat dan menyimpan tampilan jam di Cloud, siap digunakan oleh pengguna Anda. Tampilan jam memiliki properti berikut:
- Tampilan jam ini sudah dibuat sebagai APK Format Tampilan Jam biasa.
- Setiap APK hanya berisi satu tampilan jam berbasis Format Tampilan Jam.
- Tampilan jam divalidasi dengan proses validasi Watch Face Push dan disimpan dengan token validasi terkait.
- Aplikasi Telepon Anda dapat mengambilnya sesuai kebutuhan.
- Aplikasi Telepon: Aplikasi Telepon adalah cara utama pengguna berinteraksi dengan sistem Anda. Dengan alat ini, mereka dapat:
- Menjelajahi dan menelusuri katalog tampilan jam
- Menginstal atau mengganti tampilan jam di smartwatch
- Aplikasi smartwatch: Aplikasi smartwatch biasanya tidak memiliki antarmuka pengguna yang signifikan. Layanan ini terutama berfungsi sebagai jembatan antara aplikasi ponsel dan Watch Face
Push API, dengan fungsionalitas berikut:
- Menggunakan Watch Face Push API untuk menginstal/mengupdate atau mengganti tampilan jam
- Meminta izin yang diperlukan dan meminta pengguna
- Menyediakan tampilan jam default
- Menyediakan cache minimal tampilan jam
- Komunikasi ponsel-smartwatch: Komunikasi aplikasi ponsel dan smartwatch sangat penting untuk keberhasilan pengalaman secara keseluruhan. Gunakan Wear OS Data Layer API, yang memungkinkan:
- Deteksi penginstalan: Dengan menggunakan Kemampuan dan
CapabilityClient
, aplikasi ponsel dapat mendeteksi tidak adanya aplikasi smartwatch, dan sebaliknya. Kemudian, Anda dapat meluncurkan intent ke Play Store untuk menginstal faktor bentuk yang tidak ada. - Pengelolaan status: Dengan menggunakan
DataClient
atauMessageClient
, Anda dapat menyinkronkan ponsel dengan status smartwatch, misalnya, menyinkronkan status tampilan jam aktif. - Transmisi APK: Menggunakan
ChannelClient
atauMessageClient
, kirim APK dari ponsel ke smartwatch - Pemanggilan jarak jauh: Dengan menggunakan
Messageclient
, ponsel dapat menginstruksikan smartwatch untuk memanggil Watch Face Push API, misalnya, untuk menginstal tampilan jam.
- Deteksi penginstalan: Dengan menggunakan Kemampuan dan
Lihat panduan Data Layer API untuk mengetahui detail selengkapnya.