Membuat aplikasi Wear OS untuk China

Saat membuat aplikasi Wear OS untuk China, Anda harus memperhitungkan handset yang tidak dilengkapi dengan layanan Google Play. Halaman ini berisi perubahan umum yang perlu diterapkan oleh developer internasional untuk pasar China.

Menggunakan versi layanan Google Play yang benar

Layanan Google Play versi 10.2.0 memberikan dukungan global untuk Fused Location Provider API dan Data Layer API. Anda harus menggunakan layanan Google Play versi ini jika menggunakan API ini untuk memastikan dukungan array yang lebih luas bagi perangkat Wear OS di China. Dalam kasus lain, dependensi ini bersifat opsional.

Catatan: Meskipun layanan Google Play berisi API untuk aplikasi Wear OS, aplikasi Wear OS untuk China harus terus menggunakan API yang terkait dengan GoogleApiClient. Lihat Mengakses Wearable API.

Fused Location Provider API

Jika Anda menggunakan Fused Location Provider API, sertakan dependensi berikut dalam file build.gradle modul Wear OS Anda:

Groovy

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-location:10.2.0'
}

Kotlin

dependencies {
    ...
    implementation("com.google.android.gms:play-services-location:10.2.0")
}

Data Layer API

Jika aplikasi Anda menggunakan Data Layar API, Anda harus menambahkan baris berikut ke build.gradle file modul Wear OS Anda. Baris ini mengharuskan penggunaan library klien versi 10.2.0.

Groovy

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-wearable:10.2.0'
    ...
}

Kotlin

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:10.2.0")
    ...
}

Tambahkan baris berikut ke file build.gradle modul seluler Anda. Ganti dependensi layanan Google Play dengan referensi ke versi 10.2.0.

Groovy

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-wearable:10.2.0'
}

Kotlin

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:10.2.0")
}

Autentikasi

Sebelum menerapkan autentikasi, tinjau kasus penggunaan Anda untuk mengetahui apakah autentikasi benar-benar diperlukan. Misalnya, untuk aplikasi yang menyampaikan prakiraan cuaca, kemungkinan login tidak diperlukan dan begitu pula autentikasi.

Jika Anda memerlukan autentikasi, sebaiknya gunakan library Androidx Oauth. Ini memerlukan penggunaan alur Pemberian Kode Otorisasi dengan PKCE. Anda juga dapat menggunakan salah satu metode lain yang dijelaskan dalam Autentikasi pada perangkat wearable. Penggunaan Wearable Support Library tidak direkomendasikan.

Untuk mengetahui informasi selengkapnya, lihat Contoh Wear OS OAuth di GitHub.

Notifikasi tersambung

Notifikasi terhubung tidak didukung di China. Notifikasi ponsel akan disambungkan ke Wear OS hanya jika perangkat Wear OS terhubung ke ponsel melalui bluetooth.

Kompatibilitas koordinat pemetaan dan lokasi

Gunakan FusedLocationProvider (FLP) untuk mendeteksi lokasi pengguna di China, seperti yang Anda lakukan untuk seluruh dunia. Hal ini memastikan bahwa aplikasi Anda memperhitungkan informasi terbaik terlepas dari hardware smartwatch dan platform ponsel yang tersambung ke smartwatch tersebut. Menggunakan FLP juga akan menambahkan pengoptimalan baterai yang disertakan dalam platform Wear OS.

Saat mengintegrasikan FusedLocationProvider dengan SDK peta pihak ketiga, pertimbangkan kompatibilitas koordinat antara penyedia. FusedLocationProvider melaporkan lokasi berdasarkan standar WGS84. Pastikan untuk mengonversi sistem koordinat, jika perlu.

Dukungan Google Fit

Akumulasi jumlah langkah, menit bergerak, dan poin kardio Google Fit didukung di China, dengan histori maksimal selama tujuh hari. Anda dapat mengakses data ini tanpa memberikan kredensial pengguna.

Dukungan voice action

Platform Wear OS menyediakan beberapa intent suara yang didasarkan pada tindakan pengguna seperti _"Tampilkan detak jantung"_ atau _"Setel alarm"_. Hal ini memungkinkan pengguna mengucapkan apa yang ingin mereka lakukan, dan sistem akan menentukan aktivitas terbaik untuk dimulai.

Saat pengguna mengucapkan voice action, aplikasi Anda dapat memfilter intent yang akan dipicu untuk memulai suatu aktivitas. Untuk memulai layanan di latar belakang, tampilkan aktivitas sebagai tanda visual dan mulai layanan dalam aktivitas. Pastikan untuk memanggil finish() untuk menghapus tanda visual.

Berikut adalah daftar intent suara yang didukung oleh platform Wear OS:

Kategori Contoh Spesifikasi intent
Car hailing 打车去三里屯 Tindakan

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

Tambahan

to: tujuan yang dikenali

Ekstra bersifat opsional.

Menyetel alarm 设置一个明早七点的闹钟 Tindakan

android.intent.action.SET_ALARM

Tambahan

android.provider.AlarmClock.EXTRA_HOUR: bilangan bulat dengan jam alarm

android.provider.AlarmClock.EXTRA_MINUTES: bilangan bulat dengan menit alarm

Tambahan bersifat opsional. Berikan keduanya, atau tidak satu pun dari tambahan ini.

Setel timer 设置一个三分钟的倒计时 Tindakan

android.intent.action.SET_TIMER

Tambahan

android.provider.AlarmClock.EXTRA_LENGTH: bilangan bulat dalam rentang 1 sampai 86400 (jumlah detik dalam 24 jam) yang mewakili durasi timer

Mulai stopwatch 开始计时 Tindakan

com.google.android.wearable.action.STOPWATCH

Memulai atau menghentikan bersepeda 开始骑车 Tindakan

vnd.google.fitness.TRACK

Jenis MIME

vnd.google.fitness.activity/biking

Tambahan

actionStatus: string dengan nilai ActiveActionStatus saat mulai dan CompletedActionStatus saat berhenti

Memulai atau menghentikan lari 开始跑步 Tindakan

vnd.google.fitness.TRACK

Jenis MIME

vnd.google.fitness.activity/running

Tambahan

actionStatus: string dengan nilai ActiveActionStatus saat mulai, dan CompletedActionStatus saat berhenti

Memulai atau menghentikan olahraga 开始锻炼 Tindakan

vnd.google.fitness.TRACK

Jenis MIME

vnd.google.fitness.activity/other

Tambahan

actionStatus: string dengan nilai ActiveActionStatus saat mulai, dan CompletedActionStatus saat berhenti

Menampilkan detak jantung 查看心率 Tindakan

vnd.google.fitness.VIEW

Jenis MIME

vnd.google.fitness.data_type/com.google.heart_rate.bpm

Menampilkan jumlah langkah 查看步数 Tindakan

vnd.google.fitness.VIEW

Jenis MIME

vnd.google.fitness.data_type/com.google.step_count.cumulative

Navigasi 导航去三里屯 Tindakan

android.intent.action.VIEW

Data

geo:latitude,longitude?q=融科资讯中心

Voice Assistant juga dapat menggunakan intent umum Android yang ada untuk memicu perilaku tertentu jika berlaku.

Dukungan emulator

Anda dapat menggunakan image emulator Wear OS untuk China guna menguji aplikasi Anda. Emulator ini didukung di Android Studio 3.0 dan yang lebih tinggi.

Untuk menguji aplikasi Anda pada emulator versi China, ikuti langkah-langkah berikut:

  1. Instal Android Emulator.
  2. Download image Wear OS untuk China dari pengelola SDK. Gunakan versi untuk Wear OS 3.5 (level API 30).
  3. Pilih image Wear OS untuk China saat membuat profil AVD.
  4. Jalankan emulator Wear OS untuk China untuk pengembangan.
  5. Gambar 1. Contoh emulator Wear OS versi China.

Emulator Wear OS versi ini dilengkapi dengan beberapa aplikasi bawaan:

  • Mode pencahayaan sinematik
  • Kontak
  • Input Tulisan Tangan Google
  • Layanan Google Play
  • Fitur Kesehatan untuk Wear OS
  • Pengenalan frasa pengaktif untuk perangkat LE
  • Pinyin
  • Play Store (diadaptasi untuk perangkat di China)
  • Pocketwatch
  • TalkBack
  • Tampilan jam (versi analog dan digital)
  • Layanan Inti Wear

Memulai saluran Bluetooth dan Wi-Fi khusus aplikasi

Wear OS otomatis merutekan permintaan jaringan. Secara umum, tidak ada keharusan bagi aplikasi untuk membuka saluran Bluetooth dan Wi-Fi khusus aplikasi.

Jika ada aplikasi yang meminta saluran Bluetooth dan Wi-Fi khusus aplikasi di China, permintaan tersebut akan digagalkan di latar belakang. Sebagai gantinya, dialog yang meminta konfirmasi pengguna akan ditampilkan. Jika pengguna mengonfirmasi, saluran akan dibuka. Hal ini terjadi setiap saat, bukan hanya pada penggunaan pertama. BluetoothAdapter.enable() atau WifiManager.setEnabled(true) dipanggil.

Catatan: Agar aplikasi yang menargetkan Android 10 (API level 29) atau lebih tinggi dapat memanggil WifiManager.setEnabled(), aplikasi itu harus berupa aplikasi sistem atau pengontrol kebijakan perangkat (DPC).

Mode peninjauan Izin

Di China, perangkat Wear OS untuk China berjalan dalam Mode Peninjauan Izin, yang menerapkan beberapa batasan terkait cara menggunakan aplikasi dengan targetApiLevel di bawah 23. Tinjau batasan berikut:

  • Meskipun izin diberikan pada waktu penginstalan, saat aplikasi dengan targetApiLevel lebih rendah dari 23 dimulai untuk pertama kalinya, dialog akan muncul untuk meminta pengguna mengonfirmasi izin untuk aplikasi ini.
  • Komponen dalam aplikasi, seperti penerima siaran, layanan, dan aktivitas tidak akan merespons peristiwa terkait sebelum aplikasi digunakan untuk pertama kalinya.

Oleh karena itu, sebaiknya gunakan targetApiLevel 23 atau yang lebih tinggi dan gunakan praktik terbaik izin aplikasi.

Menggunakan API layanan Google Play lain

Jika menggunakan API layanan Google Play selain Wearable API, aplikasi Anda perlu memeriksa apakah API tersebut tersedia untuk digunakan selama runtime dan memberikan respons yang sesuai. Ada dua cara untuk memeriksa ketersediaan API layanan Google Play:

  1. Gunakan instance GoogleApiClient yang terpisah untuk terhubung ke API lain. Antarmuka ini berisi callback untuk memberi tahu aplikasi Anda tentang status koneksi berhasil atau gagal. Jika koneksi gagal, ConnectionResult akan menampilkan API_UNAVAILABLE. Untuk mempelajari cara menangani kegagalan koneksi, lihat Mengakses Google API.
  2. Gunakan metode addApiIfAvailable() dari GoogleApiClient.Builder untuk terhubung ke API yang diperlukan. Setelah callback onConnected() diaktifkan, gunakan metode hasConnectedApi() untuk memastikan bahwa setiap API yang diminta telah terhubung dengan benar.

Mendistribusikan aplikasi di China

Agar dapat menjangkau pengguna Wear OS untuk China secara efektif, Anda dapat mendistribusikan aplikasi melalui app store Wear OS pihak ketiga seperti berikut ini: