Merencanakan dan meninjau jenis data Health Connect

Health Connect menyimpan dan menyusun data kesehatan dan kebugaran. Hal ini juga memperhitungkan cara pengukuran berbagai jenis data. Jenis data ini mencakup pengukuran detak jantung yang diambil segera, jumlah langkah yang diambil dari waktu ke waktu, dan data tidur yang diambil dalam sesi.

Penting untuk memahami terlebih dahulu jenis data dan izin yang ditawarkan Health Connect sehingga Anda dapat merencanakan persyaratan aplikasi Anda. Dengan itu, Anda perlu meninjau jenis data sebelum dapat menyelesaikan persyaratan Anda.

Kategori jenis data

Health Connect mendukung jenis data yang digunakan di sebagian besar aplikasi kesehatan dan kebugaran untuk memberikan sebanyak mungkin variasi. Health Connect bertujuan untuk menawarkan tampilan komprehensif dan penyimpanan data kesehatan dan kebugaran. Jenis data ini termasuk dalam kategori berikut:

  • Aktivitas: Kategori ini merekam aktivitas yang dilakukan pengguna. Kategori ini dapat mencakup aktivitas kesehatan dan kebugaran seperti berlari, berenang, dan tidur.
  • Pengukuran Tubuh: Kategori ini merekam data umum terkait tubuh, seperti berat pengguna dan laju metabolisme basalnya.
  • Pencatatan Siklus: Kategori ini merekam siklus menstruasi dan titik data terkait, seperti hasil biner uji ovulasi.
  • Gizi: Kategori ini merekam jenis data hidrasi dan gizi. Data pertama menunjukkan berapa banyak air yang dikonsumsi pengguna dalam satu kali minum. Data yang kedua mencakup kolom opsional seperti kalori, gula, dan magnesium.
  • Tidur: Kategori ini merekam data interval yang terkait dengan durasi dan jenis tidur pengguna.
  • Tanda Vital: Kategori ini merekam informasi penting tentang kesehatan umum pengguna. Informasi ini mencakup data seperti suhu tubuh, glukosa darah, tekanan darah, dan saturasi oksigen darah.

Format jenis data

Jenis data di Health Connect disimpan dalam objek yang merupakan subclass Record.

Untuk setiap jenis data, terdapat kolom terkait yang bersifat umum seperti time dan zoneOffset, atau spesifik seperti title, count, dan percentage. Beberapa kolom menggunakan jenis sederhana—seperti panjang, ganda, atau string—sementara kolom lain menggunakan jenis kompleks seperti enumerasi dan class seperti Instant dan ZoneOffset. Atribut kolom ini dapat bersifat wajib atau opsional. Beberapa atribut bersifat hanya baca, dan beberapa atribut dibatasi ke rentang nilai tertentu.

Untuk daftar lengkap jenis data yang tersedia dan kolomnya, lihat class di Jetpack.

Atribut data tambahan

Data di Health Connect API juga mencakup atribut metadata yang dijelaskan dalam daftar berikut:

  • ID Health Connect: Setiap titik data ditetapkan dengan ID unik (UID) saat pembuatan. Hal ini berguna untuk operasi baca dan tulis standar. Lihat ID Health Connect untuk mengetahui detail selengkapnya.
  • Waktu terakhir diubah: Tindakan ini menandai stempel waktu saat instance terakhir data memiliki update. ID ini otomatis dibuat pada saat pembuatan pertama data atau pada setiap update.
  • Asal data: Health Connect menyimpan informasi tentang aplikasi asal data. File ini berisi nama paket tempat asal tersebut, yang otomatis ditambahkan saat pembuatan.
  • Perangkat: Health Connect menyimpan informasi tentang perangkat asal data. Kode ini berisi produsen dan model perangkat, yang Anda berikan nilai secara manual.
  • Client ID: Health Connect memberikan Client ID sehingga aplikasi klien dapat merujuk ke data menggunakan ID-nya sendiri, yang membantu penyelesaian konflik dan memudahkan sinkronisasi. Ini disediakan ke data secara manual.
  • Versi kumpulan data klien: Bersama dengan Client ID, Health Connect menyediakan pembuatan versi untuk membantu melacak perubahan selama sinkronisasi data. Ini disediakan ke data secara manual.
  • Metode perekaman: Health Connect memungkinkan Anda memahami cara data direkam. Metode ini mencakup aplikasi yang merekam data secara pasif (otomatis), dan pengguna merekam data secara aktif atau manual.

ID Health Connect

Health Connect menetapkan ID unik (UID) ke objek data yang baru disisipkan, yang mengidentifikasi objek data dan membedakannya dari objek data lain. ID Health Connect berguna dalam permintaan baca atau tulis. ID Health Connect tidak sama dengan Client ID. Aplikasi klien menetapkan Client ID, sedangkan Health Connect secara eksklusif menetapkan ID Health Connect.

Perhatikan catatan berikut saat menggunakan ID Health Connect:

  • Sesi memiliki satu ID Health Connect, tetapi data dalam sesi memiliki ID Health Connect sendiri.
  • ID Health Connect tidak terikat atau terkait dengan stempel waktu.
  • Beberapa kasus penggunaan mungkin memerlukan penyimpanan ID Health Connect tertentu selama alur kerja. Misalnya, ID tertentu diperlukan untuk mengambil dan menunjukkan kepada pengguna entri data yang baru saja dicatat dalam log.

Waktu di Health Connect

Semua data yang ditulis ke Health Connect harus menentukan informasi offset zona waktu. Menentukan offset zona waktu memungkinkan aplikasi membaca data untuk mewakilinya dalam waktu sipil. Waktu sipil adalah waktu yang bersifat lokal dan relevan bagi pengguna, tetapi tidak harus dalam Waktu Universal Terkoordinasi (Coordinated Universal Time/UTC).

Dalam kasus yang jarang terjadi, offset zona waktu mungkin tidak tersedia. Jika hal ini terjadi di Android 14 (API Level 34), Health Connect akan menetapkan offset zona berdasarkan zona waktu default sistem perangkat. Di Android 13 dan versi yang lebih lama (API Level 33 dan yang lebih lama), Anda dapat menulis ke Health Connect tanpa menentukan informasi offset zona waktu apa pun, yang harus dihindari jika memungkinkan.

Setelan waktu dan zona

Menentukan informasi offset zona waktu saat menulis data memberikan informasi zona waktu saat membaca data di Health Connect. Namun, tindakan ini dapat gagal dalam situasi tertentu, seperti saat offset zona waktu tidak diberikan. Aplikasi Anda harus siap menangani kedua jenis data, dengan cara yang sesuai dengan situasi tertentu.

Izin

Sebelum meminta izin apa pun, aplikasi Anda harus mendeklarasikannya dalam manifes terlebih dahulu. Lihat tabel berikut untuk pemetaan lengkap jenis data dan izinnya.

Untuk 1.0.0-alpha10 dan yang lebih tinggi

Jenis class kumpulan data Membaca dan menulis pernyataan izin
ActiveCaloriesBurned android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED
BasalBodyTemperature android.permission.health.READ_BASAL_BODY_TEMPERATURE
android.permission.health.WRITE_BASAL_BODY_TEMPERATURE
BasalMetabolicRate android.permission.health.READ_BASAL_METABOLIC_RATE
android.permission.health.WRITE_BASAL_METABOLIC_RATE
BloodGlucose android.permission.health.READ_BLOOD_GLUCOSE
android.permission.health.WRITE_BLOOD_GLUCOSE
BloodPressure android.permission.health.READ_BLOOD_PRESSURE
android.permission.health.WRITE_BLOOD_PRESSURE
BodyFat android.permission.health.READ_BODY_FAT
android.permission.health.WRITE_BODY_FAT
BodyTemperature android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE
BodyWaterMass android.permission.health.READ_BODY_WATER_MASS
android.permission.health.WRITE_BODY_WATER_MASS
BoneMass android.permission.health.READ_BONE_MASS
android.permission.health.WRITE_BONE_MASS
CervicalMucus android.permission.health.READ_CERVICAL_MUCUS
android.permission.health.WRITE_CERVICAL_MUCUS
CyclingPedalingCadence android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE
Distance android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE
ElevationGained android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED
ExerciseSession android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE
FloorsClimbed android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED
HeartRate android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE
HeartRateVariabilityRmssd android.permission.health.READ_HEART_RATE_VARIABILITY
android.permission.health.WRITE_HEART_RATE_VARIABILITY
Height android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT
Hydration android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION
IntermenstrualBleeding android.permission.health.READ_INTERMENSTRUAL_BLEEDING
android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING
LeanBodyMass android.permission.health.READ_LEAN_BODY_MASS
android.permission.health.WRITE_LEAN_BODY_MASS
MenstruationFlow android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION
MenstruationPeriod android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION
Nutrition android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION
OvulationTest android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST
OxygenSaturation android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION
Power android.permission.health.READ_POWER
android.permission.health.WRITE_POWER
RespiratoryRate android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE
RestingHeartRate android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE
SexualActivity android.permission.health.READ_SEXUAL_ACTIVITY
android.permission.health.WRITE_SEXUAL_ACTIVITY
SleepSession android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP
Speed android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED
StepsCadence android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
Steps android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
TotalCaloriesBurned android.permission.health.READ_TOTAL_CALORIES_BURNED
android.permission.health.WRITE_TOTAL_CALORIES_BURNED
Vo2Max android.permission.health.READ_VO2_MAX
android.permission.health.WRITE_VO2_MAX
Berat android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT
WheelchairPushes android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES

Untuk 1.0.0-alpha09 dan yang lebih rendah

Jenis class kumpulan data Membaca dan menulis pernyataan izin
ActiveCaloriesBurned androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE
BasalBodyTemperature androidx.health.permission.BasalBodyTemperature.READ
androidx.health.permission.BasalBodyTemperature.WRITE
BasalMetabolicRate androidx.health.permission.BasalMetabolicRate.READ
androidx.health.permission.BasalMetabolicRate.WRITE
BloodGlucose androidx.health.permission.BloodGlucose.READ
androidx.health.permission.BloodGlucose.WRITE
BloodPressure androidx.health.permission.BloodPressure.READ
androidx.health.permission.BloodPressure.WRITE
BodyFat androidx.health.permission.BodyFat.READ
androidx.health.permission.BodyFat.WRITE
BodyTemperature androidx.health.permission.BodyTemperature.READ
androidx.health.permission.BodyTemperature.WRITE
BodyWaterMass androidx.health.permission.BodyWaterMass.READ
androidx.health.permission.BodyWaterMass.WRITE
BoneMass androidx.health.permission.BoneMass.READ
androidx.health.permission.BoneMass.WRITE
CervicalMucus androidx.health.permission.CervicalMucus.READ
androidx.health.permission.CervicalMucus.WRITE
CyclingPedalingCadence androidx.health.permission.CyclingPedalingCadence.READ
androidx.health.permission.CyclingPedalingCadence.WRITE
Distance androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE
ElevationGained androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE
ExerciseSession androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE
FloorsClimbed androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE
HeartRate androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE
HeartRateVariabilityRmssd androidx.health.permission.HeartRateVariabilityRmssd.READ
androidx.health.permission.HeartRateVariabilityRmssd.WRITE
Height androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE
Hydration androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE
IntermenstrualBleeding androidx.health.permission.IntermenstrualBleeding.READ
androidx.health.permission.IntermenstrualBleeding.WRITE
LeanBodyMass androidx.health.permission.LeanBodyMass.READ
androidx.health.permission.LeanBodyMass.WRITE
MenstruationFlow androidx.health.permission.MenstruationFlow.READ
androidx.health.permission.MenstruationFlow.WRITE
Nutrition androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE
OvulationTest androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE
OxygenSaturation androidx.health.permission.OxygenSaturation.READ
androidx.health.permission.OxygenSaturation.WRITE
Power androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE
RespiratoryRate androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE
RestingHeartRate androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.WRITE
SexualActivity androidx.health.permission.SexualActivity.READ
androidx.health.permission.SexualActivity.WRITE
SleepSession androidx.health.permission.SleepSession.READ
androidx.health.permission.SleepSession.WRITE
Speed androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE
StepsCadence androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE
Steps androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE
TotalCaloriesBurned androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE
Vo2Max androidx.health.permission.Vo2Max.READ
androidx.health.permission.Vo2Max.WRITE
Berat androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE
WheelchairPushes androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE

Tinjau jenis dan izin data Anda

Setelah merencanakan jenis dan izin data, Anda dapat menerapkannya selama pengembangan.

Saat meninjau aplikasi sebelum menguploadnya ke Play Store, periksa kembali daftar jenis data dan izin yang diperlukan aplikasi. Hal ini memungkinkan Anda mendeklarasikan penggunaan data aplikasi secara akurat.

Setelah memublikasikan aplikasi ke Play Store, Anda mungkin akan melihat pesan error yang membuat aplikasi tidak dapat mengakses jenis data Health Connect karena memerlukan persetujuan khusus. Dalam hal ini, Anda perlu meminta akses jenis data melalui Formulir Pernyataan Developer. Untuk mempelajari proses ini lebih lanjut, lihat Meminta akses ke jenis data Health Connect.