Mengembangkan pengalaman langkah dengan Google Health API

Google Health API melacak langkah dan data aktivitas pengguna menggunakan jenis data interval steps. Jumlah langkah merupakan ukuran dasar aktivitas fisik harian, yang membantu developer melacak progres kebugaran, menghitung pengeluaran energi, dan membuat ringkasan aktivitas harian yang ditampilkan kepada pengguna.

Pahami cara membaca dan menyusun metrik jumlah langkah di aplikasi Anda untuk memberikan pengalaman terbaik bagi pengguna.

Jenis data yang didukung

API ini mendukung jenis data berikut untuk melacak jumlah langkah:

Tabel: Jenis data Langkah Google Health API
Jenis data Operasi
yang tersedia
Cakupan
Langkah
dataType: steps
filter parameter: steps
Jenis data: Interval
Resolusi penyimpanan: 1 menit

Perangkat yang kompatibel

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly

Panduan

Saat mengintegrasikan pelacakan langkah ke dalam aplikasi, ikuti panduan desain dan penerapan ini.

Penghitungan kecepatan dan laju

Google Health API menggunakan formula standar untuk menghitung kecepatan dan laju:

  • Kecepatan = distance / time(hour)
  • Kecepatan = time(seconds) / distance

Header Accept-Language yang ditentukan dalam permintaan menentukan satuan jarak.

Ringkasan harian

Untuk menggabungkan jumlah langkah harian secara akurat selama perjalanan, perubahan zona waktu, atau waktu musim panas, jangan lakukan penghitungan durasi sisi klien. Sebagai gantinya, buat kueri endpoint dailyRollUp yang merekonsiliasi kesenjangan data fisik secara otomatis menggunakan selisih UTC. Rollup menampilkan StepsRollupValue yang berisi kolom countSum, yang mewakili total langkah yang diakumulasikan untuk hari yang diminta. Untuk mengetahui detailnya, lihat Menggabungkan di seluruh hari kalender dalam panduan Menggabungkan data.

Menggambar antarmuka pengguna (Rekonsiliasi)

Saat membuat elemen antarmuka pengguna untuk menampilkan data langkah, gunakan endpoint reconcile. Jika beberapa sumber data (seperti smartwatch dan ponsel) telah mencatat langkah-langkah pada saat yang sama, endpoint reconcile akan menyelesaikan konflik dan menggabungkan aliran data untuk menampilkan satu aliran data yang direkonsiliasi.

Untuk mengetahui informasi tentang cara menangani interval yang tumpang-tindih dari sinkronisasi perangkat terhubung dan mutabilitas stempel waktu, lihat Panduan pengelolaan data.

Pelacakan dan histogram intraday

Untuk menampilkan aktivitas pengguna yang mendetail sepanjang hari (seperti diagram dan grafik):

  • Histogram langkah per jam atau per menit: Buat kueri endpoint rollUp, dengan menentukan durasi (seperti 60s untuk 1 menit atau 3600s untuk 1 jam) menggunakan parameter windowSize. Karena data langkah dicatat dalam interval 1 menit (60s), tetapkan windowSize ke setidaknya 60s. Permintaan dengan ukuran periode di bawah satu menit (seperti 10s atau 30s) tidak membagi total menit satu per satu, sehingga menempatkan jumlah menit penuh ke dalam sub-bucket pertama yang cocok. Untuk mengetahui detailnya, lihat Periode rollup dan resolusi penyimpanan.
  • Semua data langkah: Gunakan endpoint list untuk mengambil data langkah mentah yang paling terperinci.

Endpoint rollUp, dailyRollUp, dan reconcile menerima parameter dataSourceFamily, sehingga Anda dapat memfilter data dari grup sumber tertentu. Untuk mengetahui detail selengkapnya dan contoh penggunaan, lihat bagian Memfilter menurut kelompok sumber data dalam panduan Memfilter data.

Sinkronisasi real-time menggunakan webhook

Berlangganan ke pengumpulan jenis data steps untuk mendapatkan notifikasi secara real time saat data langkah baru diimpor atau disinkronkan. Daripada melakukan polling endpoint REST, perbarui dasbor sisi klien secara dinamis sebagai respons terhadap notifikasi webhook ini. Untuk mengetahui detail tentang cara menyiapkan langganan, lihat Langganan webhook.