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 desain tampilan jam menggunakan 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 harus digunakan sebagai panduan untuk 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 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
Tampilan jam yang tidak sesuai dengan konvensi ini akan ditolak oleh API.
Isi paket
Isi APK diberlakukan secara ketat. Anda harus berhati-hati untuk memastikan Format Tampilan Jam sesuai dengan batasan berikut: Secara teknis, Anda dapat membuat APK Format Tampilan Jam yang berisi file metadata tidak berbahaya dan artefak lainnya, yang mungkin dapat diterima oleh Google Play, tetapi tidak lulus validasi Push Tampilan Jam (lihat di bawah).
Hanya file/jalur berikut yang dapat diterima di setiap APK tampilan jam:
/AndroidManifest.xml
/resources.arsc
/res/**
/META-INF/**
Selain itu, hanya tag berikut yang diizinkan dalam file AndroidManifest.xml
:
<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, pemeriksaan Watch Face Push untuk memastikan setiap tampilan jam terbentuk dengan baik dan berperforma tinggi adalah tanggung jawab aplikasi Marketplace.
Google Play menggunakan pemeriksaan validasi berikut untuk memverifikasi kualitas setiap tampilan jam yang menggunakan Watch Face Push:
- Semua tampilan jam yang diinstal atau diperbarui melalui Watch Face Push API harus lulus alat validasi Watch Face Push.
- Hanya alat validasi resmi yang dapat digunakan untuk membuat token validasi untuk digunakan dengan API.
- Alat validasi yang digunakan harus yang terbaru pada saat menjalankan validasi.
Tidak ada persyaratan untuk memvalidasi ulang APK yang tidak berubah. Token tidak akan habis masa berlakunya, 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-alpha06.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 Jitpack, yang diperlukan untuk dependensi 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:1.0.0-alpha06") // For use on Android implementation("com.google.android.wearable.watchface.validator-android:1.0.0-alpha06")
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
Perhatian khusus harus diberikan pada tampilan jam Watch Face Push untuk memastikan ukuran APK tetap minimum: 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 dengan skala yang akan digunakan.
- Pastikan gambar dipangkas dengan tepat untuk menghapus latar belakang di sekitarnya.
- Mengurangi ukuran file font
- Misalnya, jika menggunakan font tertentu hanya 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 menggunakan font tertentu hanya untuk menampilkan waktu, dalam format
Lihat Panduan mengoptimalkan penggunaan memori untuk mengetahui saran lebih lanjut tentang meminimalkan ukuran APK.
Penandatanganan APK
Sebagai APK reguler, semua tampilan jam Anda perlu ditandatangani. Buat kunci yang berbeda dari yang digunakan dengan aplikasi utama Anda dan gunakan kunci yang berbeda untuk semua tampilan jam Anda.
Arsitektur
Pertimbangkan tiga komponen utama sistem:
- Penyimpanan berbasis cloud: Di aplikasi Marketplace kanonis, tampilan jam Anda dibuat dan disimpan di Cloud, siap digunakan oleh pengguna Anda. Tampilan jamnya adalah:
- Sudah dibuat sebagai APK Format Tampilan Jam reguler
- Setiap paket hanya berisi satu tampilan jam berbasis Format Tampilan Jam
- Telah divalidasi menggunakan proses validasi Watch Face Push dan disimpan bersama dengan token validasi terkait.
- Siap diambil oleh aplikasi ponsel Anda sesuai kebutuhan.
- Aplikasi Telepon: Aplikasi Telepon adalah cara utama pengguna berinteraksi dengan sistem Anda. Hal ini memungkinkan mereka untuk:
- 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. Hal ini dapat diikuti dengan meluncurkan intent ke Play Store untuk menginstal faktor bentuk yang tidak ada. - Pengelolaan status: Dengan menggunakan
DataClient
atauMessageClient
, ponsel dapat terus disinkronkan dengan status smartwatch, misalnya, memastikan bahwa ponsel mengetahui tampilan jam yang disetel. - Transmisi APK: Menggunakan
ChannelClient
atauMessageClient
, APK dapat dikirim dari ponsel ke smartwatch - Pemanggilan jarak jauh: 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.