Gunakan data sintetis yang dihasilkan dari Fitur Kesehatan di Wear OS untuk menguji aplikasi Anda seolah-olah latihan apa pun benar-benar terjadi.
Jika Anda melakukan pengujian di emulator yang menjalankan Wear OS 3 (level API 30) atau yang lebih tinggi, Anda dapat menggunakan data sintetis yang dihasilkan oleh emulator. Lihat referensi berikut untuk mempelajari lebih lanjut perbedaan antara pembuatan data sintetis untuk Wear OS 3 dan yang lebih baru.
Menggunakan data sintetis di Wear OS 4 dan yang lebih baru
Jika melakukan pengujian pada emulator yang menjalankan Wear OS 4 (level API 33) atau yang lebih tinggi, Anda dapat menggunakan data sintetis yang dihasilkan oleh emulator untuk menguji aplikasi Anda. Ini memperkenalkan sejumlah peningkatan terhadap bagaimana data sintetis dihasilkan pada Wear OS versi sebelumnya:
Pembuatan data sintetis di Wear OS 4 dan yang lebih baru terintegrasi dengan Siklus proses Health Services API. Ini berarti bahwa adb tidak diperlukan untuk memulai atau menghentikan latihan. Sebagai gantinya, Anda dapat memulai atau menghentikan latihan dalam aplikasi seperti yang dilakukan pengguna.
Dukungan yang diperluas untuk peristiwa latihan: Anda dapat menyimulasikan penerimaan jeda otomatis dan melanjutkan peristiwa, peristiwa jatuh, deteksi tidur, dan deteksi tembakan golf.
Gunakan Panel Sensor Fitur Kesehatan
Update Fitur Android Studio Koala (Canary) mencakup Fitur Kesehatan di panel sensor Wear OS. Panel ini dapat digunakan untuk menyimulasikan perangkat yang memiliki atau tidak memiliki kemampuan sensor tertentu, yang penting untuk diuji saat membuat aplikasi kebugaran di Wear OS.
Anda juga dapat menggunakan panel untuk mengubah nilai metrik dan mengamati bagaimana aplikasi akan menyesuaikan.
Untuk membuka dan menggunakan panel, lakukan hal berikut:
- Membuat atau membuka Perangkat Virtual Android (AVD) dan jalankan aplikasi Anda di emulator.
- Di panel emulator, pilih Fitur Kesehatan Wear. Panel Fitur Kesehatan Wear terbuka, yang menampilkan daftar sensor yang tersedia di berbagai Perangkat yang didukung Android.
Setelah panel terbuka, Anda dapat melakukan hal berikut:
- Beralih di antara Kemampuan standar, Semua kemampuan (default), atau Kustom. Pilih Apply untuk mengirim daftar kemampuan terbaru untuk perangkat yang diemulasikan, lalu pilih Reset untuk memulihkan daftar kemampuan ke nilai {i>on-off<i} defaultnya.
- Memicu peristiwa pengguna yang berbeda setelah Anda memilih Peristiwa pemicu tombol drop-down. Dari sini, Anda dapat Memicu jeda/melanjutkan kebugaran secara otomatis aktivitas, Memicu peristiwa tidur oleh pengguna, dan Memicu tembakan golf yang digunakan pengguna di lapangan golf atau lapangan golf mini.
- Mengganti nilai sensor setelah Anda memulai latihan di aplikasi yang telah diinstal pada emulator. Setelah Anda memasukkan nilai baru untuk metrik latihan yang berbeda, pilih Apply untuk menyinkronkan nilai ini dengan emulator. Hal ini berguna untuk menguji cara aplikasi Anda menangani berbagai kondisi olahraga dan performa kebugaran yang umum.
Membuat data sintetis dengan emulator
Anda juga dapat menjalankan aplikasi tanpa panel sensor dan meminta agar data yang dihasilkan oleh emulator secara otomatis.
Gunakan kontrol dalam aplikasi Anda untuk memulai, menjeda, dan mengakhiri pembuatan data sintetis.
Perhatikan juga bahwa emulator menghasilkan nilai data yang sama untuk setiap olahraga.
Menyimulasikan peristiwa
Anda dapat melakukan simulasi berbagai peristiwa di emulator seperti AUTO_PAUSE_DETECTED
.
Perintah berikut dapat digunakan untuk memicu peristiwa tersebut:
adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices
Peristiwa sintetis
Peristiwa |
Kunci |
---|---|
Jeda Otomatis Terdeteksi |
|
Lanjutkan Otomatis Terdeteksi |
|
Jatuh Terdeteksi |
|
Tidur Terdeteksi |
|
Berhenti Tidur Terdeteksi |
|
Tembakan Golf Terdeteksi |
|
Misalnya, Anda dapat menggunakan perintah berikut untuk memicu peristiwa jeda otomatis:
adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices
Untuk peristiwa pukulan golf, Anda harus menentukan parameter tambahan untuk jenis ayunan pukulan golf, yang diuraikan di bawah ini:
Jenis Ayunan Tembakan Golf |
Parameter |
---|---|
Jenis Putt Ayunan |
putt |
Jenis Parsial Ayunan |
parsial |
Ayunan Tipe Penuh |
penuh |
Tambahkan jenis ayunan pukulan golf setelah menentukan peristiwa pukulan golf:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \ "golf-swing-type-parameter" com.google.android.wearable.healthservices
Misalnya, perintah berikut memicu tembakan golf parsial:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \ com.google.android.wearable.healthservices
Menggunakan data sintetis di Wear OS 3
Jika melakukan pengujian pada emulator yang menjalankan Wear OS 3, Anda juga dapat menggunakan fitur sintetis data untuk menguji aplikasi Anda.
Mengaktifkan pembuatan data sintetis
Selesaikan langkah-langkah berikut untuk mengaktifkan pembuatan data sintetis di Wear OS 3.
- Aktifkan opsi developer.
Berikan perintah
adb
berikut untuk mengaktifkan mode sintetis:adb shell am broadcast \ -a "whs.USE_SYNTHETIC_PROVIDERS" \ com.google.android.wearable.healthservices
Setelah pembuatan data sintetis diaktifkan, berikan perintah yang dijelaskan di untuk mengontrol perilaku "pengguna sintetis".
Menonaktifkan pembuatan data sintetis
Untuk beralih kembali menggunakan sensor sebenarnya, jalankan perintah berikut:
adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices
Olahraga sintetis
Fitur Kesehatan mendukung jenis olahraga berikut:
- Jalan kaki:
whs.synthetic.user.START_WALKING
- Lari:
whs.synthetic.user.START_RUNNING
- Mendaki:
whs.synthetic.user.START_HIKING
- Berenang:
whs.synthetic.user.START_SWIMMING
- Berlari di atas treadmill:
whs.synthetic.user.START_RUNNING_TREADMILL
Olahraga ini menghasilkan data sintetis yang realistis untuk jenis data berikut:
- Detak jantung
- Jumlah langkah per menit
- Lokasi GPS, menggunakan satu rute default
- Durasi aktivitas
- Elevasi dan lantai
Selain itu, status berikut dapat dibuat:
- Status tidur—tidur atau bangun
- Deteksi jatuh
Memulai
Untuk mulai menyimulasikan olahraga, berikan siaran yang sesuai ke
com.google.android.wearable.healthservices
:
# start the "walking" synthetic exercise
$ adb shell am broadcast \
-a "whs.synthetic.user.START_WALKING" \
com.google.android.wearable.healthservices
Setiap aktivitas memiliki preset untuk metrik yang didukung:
Aktivitas | Detak jantung | Kecepatan rata-rata | Perubahan elevasi | Gunakan lokasi |
---|---|---|---|---|
Jalan kaki | 120 bpm | 1,4 m/dtk | 20,0 m/mnt | true |
Lari | 170 bpm | 2,3 m/dtk | 20,0 m/mnt | true |
Mendaki | 150 bpm | 1,3 m/dtk | 20,0 m/mnt | true |
Renang | 150 bpm | 1,6 m/dtk | 0,0 m/mnt | true |
Lari di treadmill | 160 bpm | 2,3 m/dtk | 20,0 m/mnt | salah |
Menghentikan
Untuk menghentikan aktivitas sintetis, gunakan perintah berikut:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices
Kustom
Untuk kontrol yang lebih akurat terhadap metrik yang dihasilkan, mulai aktivitas
olahraga kustom menggunakan string tindakan whs.synthetic.user.START_EXERCISE
.
Berikan kombinasi flag berikut:
--ei exercise_options_duration_secs <int>
: durasi olahraga dalam hitungan detik. Default:0
.--ei exercise_options_heart_rate <int>
: detak jantung dalam denyut per menit. Rata-rata:70
.--ef exercise_options_average_speed <float>
: kecepatan rata-rata dalam meter per detik. Juga memengaruhi langkah per menit, atau irama. Default:0
.--ez exercise_options_use_location <boolean>
: apakah memunculkan data lokasi selama olahraga atau tidak, menggunakan rute default. Default:false
.--ef exercise_options_max_elevation_rate <float>
: tingkat perubahan elevasi maksimum yang dimungkinkan dalam meter per menit. Default:0
.
Misalnya, tetapkan opsi olahraga dengan cara berikut:
adb shell am broadcast \
-a "whs.synthetic.user.START_EXERCISE" \
--ei exercise_options_heart_rate 90 \
--ef exercise_options_average_speed 1.2 \
--ez exercise_options_use_location true \
com.google.android.wearable.healthservices
Anda juga dapat mengubah jenis data yang tersedia, terlepas dari apakah hardware sungguhan atau yang diemulasikan mendukung jenis data tertentu atau tidak. Misalnya, Anda dapat mengaktifkan atau menonaktifkan elevasi absolut, seperti yang ditunjukkan dalam cuplikan berikut:
# enable synthetic mode and enable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation true \
com.google.android.wearable.healthservices
# enable synthetic mode and disable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation false \
com.google.android.wearable.healthservices
Status dan peristiwa lainnya
Status tidur
Anda juga dapat memicu status tidur untuk pengguna sintetis. Dua status didukung: tidur dan bangun.
Untuk memasuki status tidur, jalankan perintah ini:
adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices
Untuk memasuki status bangun, jalankan perintah ini:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices
Deteksi jatuh
Untuk menyimulasikan peristiwa jatuh, jalankan perintah ini:
adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices
Mungkin perlu waktu hingga satu menit bagi fitur kesehatan untuk mengirimkan peristiwa jatuh.
Direkomendasikan untuk Anda
- Catatan: teks link ditampilkan saat JavaScript nonaktif
- SourceType
- ArithmeticExpression
- ListConfiguration