Berita Produk

Menghadirkan Androidify ke Wear OS dengan Watch Face Push

Waktu baca: 3 menit
Garan Jenkin
Developer Relations Engineer

 

 

Beberapa bulan yang lalu, kami meluncurkan kembali Androidify sebagai aplikasi untuk membuat bot Android yang dipersonalisasi. Androidify mengubah foto selfie Anda menjadi bot Android yang lucu menggunakan Gemini dan Imagen.

Namun, mengingat Android mencakup beberapa faktor bentuk, termasuk tambahan terbaru kami, XR, kami berpikir, bagaimana kami dapat menghadirkan keseruan Androidify ke Wear OS?

Tampilan jam Androidify

Karena bot Androidify sangat dipersonalisasi, tempat yang tepat untuk menampilkannya adalah tampilan jam. Selain merupakan permukaan yang paling sering terlihat, tampilan jam juga merupakan permukaan yang paling pribadi, sehingga Anda dapat menampilkan siapa diri Anda.

demonstration.gif

Tampilan jam Androidify yang dipersonalisasi, dibuat dari gambar selfie

Androidify kini memiliki kemampuan untuk membuat tampilan jam secara dinamis dalam aplikasi ponsel, lalu mengirimkannya ke smartwatch Anda, yang akan otomatis ditetapkan sebagai tampilan jam Anda. Semua ini terjadi dalam hitungan detik.

Desain tingkat tinggi

image.png

Alur menyeluruh untuk pembuatan dan penginstalan tampilan jam

Untuk mencapai pengalaman menyeluruh, sejumlah teknologi perlu digabungkan, seperti yang ditunjukkan dalam diagram desain tingkat tinggi ini.

Pertama-tama, avatar pengguna digabungkan dengan template Format Tampilan Jam yang sudah ada, yang kemudian dikemas ke dalam APK. APK ini divalidasi - karena alasan yang akan dijelaskan. - dan dikirim ke smartwatch.

Setelah diterima oleh smartwatch, Watch Face Push API baru - bagian dari Wear OS 6- digunakan untuk menginstal dan mengaktifkan tampilan jam.

Mari kita lihat detailnya:

Membuat template tampilan jam

Tampilan jam dibuat dari template, yang didesain di Watch Face Designer.Ini adalah plugin Figma baru kami yang memungkinkan Anda membuat tampilan jam Format Tampilan Jam langsung di Figma.

image.png

Template tampilan jam Androidify di Watch Face Designer

Plugin ini memungkinkan tampilan jam diekspor dengan berbagai cara, termasuk sebagai resource Format Tampilan Jam (WFF). Kemudian, resource ini dapat dengan mudah digabungkan sebagai aset dalam aplikasi Androidify, untuk membuat tampilan jam akhir secara dinamis.

Pengemasan dan validasi

Setelah template dan avatar digabungkanPortable Asset Compiler Kit (Pack) digunakan untuk merakit APK.

Di Androidify, Pack digunakan sebagai library native di ponsel.Untuk mengetahui detail selengkapnya tentang cara Androidify berinteraksi dengan library Pack, lihat repositori GitHub.

Sebagai langkah terakhir sebelum transmisi, APK diperiksa oleh validator Watch Face Push.

Validator ini memeriksa apakah APK cocok untuk penginstalan. Hal ini mencakup pemeriksaan konten APK untuk memastikan APK adalah tampilan jam yang valid, serta beberapa pemeriksaan performa. Jika valid, validator akan menghasilkan token.

Token ini diperlukan oleh smartwatch untuk penginstalan.

Mengirim tampilan jam

Aplikasi Androidify di Wear OS menggunakan WearableListenerService untuk memproses peristiwa di Wearable Data Layer.

Aplikasi ponsel mentransfer tampilan jam menggunakan kombinasi MessageClient untuk menyiapkan proses, lalu ChannelClient untuk melakukan streaming APK.

Menginstal tampilan jam di smartwatch

Setelah tampilan jam diterima di perangkat Wear OS, aplikasi Androidify menggunakan Watch Face Push API baru untuk menginstal tampilan jam:

val wfpManager = 

    WatchFacePushManagerFactory.createWatchFacePushManager(context)

val response = wfpManager.listWatchFaces()



try {

    if (response.remainingSlotCount > 0) {

        wfpManager.addWatchFace(apkFd, token)

    } else {

        val slotId = response.installedWatchFaceDetails.first().slotId

        wfpManager.updateWatchFace(slotId, apkFd, token)

    }

} catch (a: WatchFacePushManager.AddWatchFaceException) {

    return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

} catch (u: WatchFacePushManager.UpdateWatchFaceException) {

    return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

}

Androidify menggunakan metode addWatchFace atau updateWatchFace, bergantung pada skenario: Watch Face Push menentukan konsep “slot” - jumlah tampilan jam yang dapat diinstal oleh aplikasi tertentu kapan saja. Untuk Wear OS 6, nilai ini sebenarnya adalah 1.

Pendekatan Androidify adalah menginstal tampilan jam jika ada slot kosong, dan jika tidak, tampilan jam yang ada akan ditukar dengan tampilan jam baru.

Menetapkan tampilan jam aktif

Menginstal tampilan jam secara terprogram adalah langkah yang bagus, tetapi Androidify berupaya memastikan tampilan jam juga merupakan tampilan jam aktif. 

Watch Face Push memperkenalkan izin runtime baru yang harus diberikan agar aplikasi dapat mencapai hal ini:

com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE

Setelah izin ini diperoleh, metode wfpManager.setWatchFaceAsActive() dapat dipanggil untuk menetapkan tampilan jam yang diinstal sebagai tampilan jam aktif.

Namun, ada beberapa pertimbangan yang harus dipertimbangkan oleh Androidify:

  • setWatchFaceAsActive hanya dapat digunakan satu kali.
  • SET_PUSHED_WATCH_FACE_AS_ACTIVE tidak dapat diminta kembali setelah ditolak oleh pengguna.
  • Androidify mungkin sudah mengontrol tampilan jam aktif.

Untuk mengetahui detail selengkapnya, lihat cara Androidify menerapkan logika set aktif.

Mulai menggunakan Watch Face Push untuk Wear OS

Watch Face Push adalah API serbaguna, yang sama-sama cocok untuk meningkatkan Androidify dan membuat marketplace tampilan jam berfitur lengkap.

Mungkin Anda memiliki aplikasi ponsel yang sudah ada dan mencari peluang untuk lebih melibatkan dan menyenangkan pengguna?

Atau mungkin Anda adalah developer tampilan jam yang sudah ada dan ingin membuat komunitas dan galeri Anda sendiri dengan merilis aplikasi marketplace?

Lihat referensi berikut:

Selain itu, tonton video pendamping untuk melihat lebih mendalam cara kami menghadirkan Androidify ke Wear OS.

Kami tidak sabar ingin melihat karya Anda dengan Watch Face Push.

Ditulis oleh:

Lanjutkan membaca