Google Fit menyediakan serangkaian jenis data kesehatan dan kebugaran dalam namespace com.google.
Jenis data menentukan format nilai di dalam titik data. Titik data dapat mewakili:
- Pembacaan atau pengamatan instan
- Agregat dengan statistik selama interval waktu
Google Fit menentukan jenis data untuk pengamatan instan dan jenis data untuk data gabungan. Titik data terdiri dari nilai untuk kolom jenis data dan informasi stempel waktu. Titik yang mewakili pengamatan instan mencakup stempel waktu, dan titik jenis data gabungan juga mencakup waktu mulai untuk interval.
Google Fit juga memungkinkan Anda menentukan jenis data baru.
Grup jenis data
Google Fit memiliki jenis data berikut:
- Jenis data publik
- Jenis data standar yang disediakan oleh platform memiliki awalan 'com.google'. Misalnya, com.google.step_count.delta. Jenis data ini menangkap pembacaan instan untuk data kesehatan dan kebugaran, termasuk aktivitas kebugaran, tidur, dan nutrisi. Aplikasi apa pun dapat meminta izin yang relevan untuk membaca dan menulis ke jenis data ini, kecuali beberapa jenis data lokasi yang hanya dapat dibaca oleh aplikasi yang menulisnya.
Untuk mengetahui informasi selengkapnya, lihat:
- Jenis data kesehatan
- Jenis data yang disediakan oleh platform yang memiliki akses terbatas karena data yang berpotensi sensitif. Untuk mengetahui informasi selengkapnya, lihat Jenis data kesehatan.
- Jenis data gabungan
- Jenis data untuk membaca informasi kesehatan dan kebugaran yang diagregasi berdasarkan waktu atau jenis aktivitas. Untuk mengetahui informasi selengkapnya, lihat Jenis data gabungan.
- Jenis data kustom pribadi
- Jenis data kustom yang ditentukan oleh aplikasi tertentu. Hanya aplikasi yang menentukan jenis data yang dapat membaca dan menulis data jenis ini. Untuk mengetahui informasi selengkapnya, lihat Jenis data kustom.
Menggunakan jenis data
Android
Di Android, jenis data ditentukan sebagai kolom publik class
DataType. Cara Anda memanggil Fitness API dengan jenis data bergantung pada hal yang ingin Anda capai:
- Untuk merekam data, gunakan Recording API untuk membuat langganan bagi setiap jenis data yang ingin Anda rekam.
- Untuk membaca data, gunakan History API untuk mengirimkan permintaan baca bagi setiap jenis data.
- Untuk menyisipkan data historis dari masa lalu, gunakan History API untuk mengirimkan permintaan penyisipan bagi setiap jenis data.
- Untuk membuat sesi, gunakan Sessions API untuk menyisipkan atau merekam data dengan metadata sesi.
Untuk membuat titik data bagi objek instan
DataType, tetapkan nilai dengan format yang benar. Contoh berikut menunjukkan cara menetapkan item makanan sebagai string, jenis makanan sebagai konstanta dari class
Field, dan kandungan nutrisi sebagai nilai float yang dipetakan.
val nutritionSource = DataSource.Builder() .setDataType(DataType.TYPE_NUTRITION) ... .build() val nutrients = mapOf( Field.NUTRIENT_TOTAL_FAT to 0.4f, Field.NUTRIENT_SODIUM to 1f, Field.NUTRIENT_POTASSIUM to 422f ) val banana = DataPoint.builder(nutritionSource) .setTimestamp(now, TimeUnit.MILLISECONDS) .setField(Field.FIELD_FOOD_ITEM, "banana") .setField(Field.FIELD_MEAL_TYPE, Field.MEAL_TYPE_SNACK) .setField(Field.FIELD_NUTRIENTS, nutrients) .build()
Setelah menetapkan titik data di aplikasi, Anda dapat menyisipkan, membaca, atau menghapus data historis dengan History API.
REST
Resource dataSources mencakup jenis data
(dan daftar kolomnya) untuk setiap sumber data. Anda dapat menentukan salah satu jenis data ini saat membuat sumber data, dan Anda dapat memperoleh nama jenis data dan daftar kolomnya saat mengambil sumber data dari penyimpanan kebugaran.
Misalnya, representasi sumber data menentukan jenis datanya sebagai berikut:
{
"dataStreamId": "exampleDataSourceId",
...
"dataType": {
"name": "com.google.step_count.delta"
},
...
}Cakupan otorisasi
Cakupan otorisasi mencakup grup jenis data yang dapat diizinkan pengguna untuk diakses oleh aplikasi. Cakupan ini membantu pengguna memahami jenis data yang ingin diakses oleh aplikasi. Cakupan ini juga memudahkan pemberian izin kepada aplikasi untuk menggunakan data tersebut tanpa harus menyetujui setiap jenis data satu per satu. Pengguna memberikan izin ini setelah mereka mendownload aplikasi Anda.
Setelah menguji aplikasi dengan sejumlah kecil pengguna, sebelum meluncurkan aplikasi Anda harus meminta verifikasi berdasarkan cakupan yang relevan dengan jenis data tersebut. Baca halaman jenis data yang ditautkan di atas untuk memahami cakupan mana yang berlaku untuk setiap jenis data.
Misalnya, jika aplikasi Anda perlu membaca dan menulis tekanan darah, aplikasi tersebut harus mendeklarasikan bahwa aplikasi tersebut melakukan pembacaan dan penulisan serta meminta kedua cakupan tersebut. Jika hanya menulis data tekanan darah ke platform Google Fit, aplikasi tersebut hanya perlu meminta cakupan tulis.
Pilih jenis data secara bertanggung jawab. Jangan meminta setiap jenis data jika aplikasi Anda mungkin memerlukannya. Jenis yang ditentukan akan menentukan cakupan yang diminta pengguna untuk memberikan izin. Hanya minta jenis data yang diperlukan aplikasi Anda sehingga pengguna lebih cenderung memberikan akses. Pengguna lebih mudah memberikan akses ke cakupan terbatas yang dijelaskan dengan jelas.
Gunakan tabel ini untuk memeriksa apakah cakupan yang perlu diakses aplikasi Anda bersifat sensitif atau dibatasi (yang menentukan langkah-langkah verifikasi yang harus Anda ikuti):
| Cakupan | Deskripsi | Kategori |
|---|---|---|
https://www.googleapis.com/auth/fitness.activity.read |
Membaca data aktivitas dari platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.activity.write |
Menulis data aktivitas ke platform Google Fit | Dibatasi |
https://www.googleapis.com/auth/fitness.blood_glucose.read |
Membaca data glukosa darah dari platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.blood_glucose.write |
Menulis data glukosa darah ke platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.blood_pressure.read |
Membaca data tekanan darah dari platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.blood_pressure.write |
Menulis data tekanan darah ke platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.body.read |
Membaca data pengukuran tubuh (tinggi, berat, persentase lemak tubuh) dari platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.body.write |
Menulis data pengukuran tubuh ke platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.body_temperature.read |
Membaca data suhu tubuh dari platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.body_temperature.write |
Menulis data suhu tubuh ke platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.heart_rate.read |
Membaca data detak jantung dari platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.heart_rate.write |
Menulis data detak jantung ke platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.location.read |
Membaca data lokasi dari platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.location.write |
Menulis data lokasi ke platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.nutrition.read |
Membaca data nutrisi dari platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.nutrition.write |
Menulis data nutrisi ke platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.oxygen_saturation.read |
Membaca data saturasi oksigen dari platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.oxygen_saturation.write |
Menulis data saturasi oksigen ke platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.reproductive_health.read |
Membaca data kesehatan reproduksi dari platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.reproductive_health.write |
Menulis data kesehatan reproduksi ke platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.sleep.read |
Membaca data tidur dari platform Google Fit. | Dibatasi |
https://www.googleapis.com/auth/fitness.sleep.write |
Menulis data tidur ke platform Google Fit. | Dibatasi |
Menambahkan cakupan baru ke aplikasi yang sudah ada
Saat Anda mengupdate aplikasi untuk meminta cakupan baru (misalnya, jika Anda menambahkan cakupan tidur atau detak jantung baru, atau menambahkan cakupan baca), pengguna akan diminta untuk mengizinkan aplikasi Anda mengakses cakupan ini dan mereka dapat memilih untuk memberikan atau menolak akses.
Sebaiknya minta otorisasi dari pengguna untuk resource pada saat Anda membutuhkannya. Ikuti panduan tentang cara meminta otorisasi inkremental.
Pengguna akan lebih cenderung memberikan akses jika mereka memahami alasan/cara aplikasi Anda menggunakan data ini:
- Pertimbangkan untuk menambahkan layar yang memperingatkan/memberi tahu pengguna bahwa mereka akan diminta cakupan ini.
- Jelaskan dengan jelas alasan aplikasi Anda meminta akses ke cakupan/data ini sehingga pengguna dapat membuat keputusan yang tepat.
Pelajari lebih lanjut praktik terbaik terkait izin aplikasi untuk Android.