Google Fit menyediakan sekumpulan jenis data kesehatan dan kebugaran di bawah namespace com.google
.
Tipe data menentukan format nilai di dalam titik data. Titik data dapat mewakili:
- Bacaan atau pengamatan instan
- Agregat dengan statistik selama interval waktu
Google Fit menentukan jenis data untuk pengamatan instan dan jenis data untuk agregat layanan otomatis dan data skalabel. Titik data terdiri dari nilai untuk kolom jenis data dan informasi stempel waktu. Poin-poin yang mewakili pengamatan instan termasuk stempel waktu, dan poin-poin jenis data gabungan juga menyertakan 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 'com.google' . Misalnya, com.google.step_count.delta. Tipe data ini menangkap bacaan instan untuk data kesehatan dan kebugaran, termasuk aktivitas kebugaran, tidur, dan nutrisi. Apa saja aplikasi dapat meminta izin akses yang relevan untuk membaca dan menulis ke tipe data ini, kecuali beberapa jenis data lokasi yang hanya dapat dibaca oleh aplikasi yang menulisnya.
Untuk informasi selengkapnya, lihat:
- Jenis data kesehatan
- Jenis data yang disediakan oleh platform yang memiliki akses terbatas karena data yang berpotensi sensitif. Untuk informasi selengkapnya, lihat Data kesehatan jenis file.
- Jenis data agregat
- Jenis data untuk membaca informasi kesehatan dan kebugaran yang dikumpulkan menurut waktu atau jenis aktivitas. Untuk informasi selengkapnya, lihat Data gabungan jenis file.
- Jenis data kustom pribadi
- Jenis data kustom yang ditentukan oleh aplikasi tertentu. Hanya aplikasi yang menentukan tipe data dapat membaca dan menulis data berjenis ini. Untuk informasi selengkapnya, lihat Jenis data kustom.
Menggunakan tipe data
Android
Di Android, jenis data didefinisikan sebagai kolom publik dari
DataType
. Cara Anda memanggil Fitness API dengan jenis data bergantung pada apa yang ingin Anda capai:
- Untuk merekam data, gunakan Recording API untuk membuat langganan untuk setiap tipe data yang ingin Anda rekam.
- Untuk membaca data, gunakan History API untuk mengirimkan pembacaan permintaan untuk setiap jenis data.
- Untuk menyisipkan data historis dari masa lalu, gunakan History API untuk kirimkan permintaan penyisipan untuk setiap jenis data.
- Untuk membuat sesi, gunakan Sessions API untuk menyisipkan atau merekam data dengan metadata sesi.
Untuk membuat titik data untuk instan
DataType
, tetapkan nilai dengan format yang benar. Contoh berikut menunjukkan
cara menetapkan item makanan sebagai {i>string<i}, jenis makanan sebagai konstanta dari
Class Field
,
dan kandungan gizi sebagai nilai {i>float<i} 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
Anda membuat sumber data, dan Anda bisa mendapatkan nama jenis data dan daftar kolomnya
ketika Anda 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 oleh pengguna untuk aplikasi akses. Mereka membantu pengguna memahami jenis data apa yang ingin diakses oleh sebuah aplikasi. Izin ini juga mempermudah pemberian izin kepada aplikasi untuk menggunakan data tersebut dengan tidak memiliki untuk menyetujui setiap jenis data individual. Pengguna memberikan izin ini setelah mereka mengunduh aplikasi Anda.
![Contoh layar izin cakupan OAuth](https://developers-dot-devsite-v2-prod.appspot.com/static/fit/images/OAuth_scopes_example.png?authuser=0000&hl=id)
Setelah menguji aplikasi dengan sejumlah kecil pengguna, sebelum meluncurkan aplikasi, Anda harus meminta verifikasi berdasarkan cakupan yang relevan dengan jenis data tersebut. Baca halaman tipe data yang ditautkan di atas untuk memahami cakupan mana yang berlaku untuk setiap jenis data.
Misalnya, jika aplikasi Anda perlu membaca dan menulis tulis tekanan darah, aplikasi perlu mendeklarasikan bahwa ia melakukan pembacaan dan penulisan dan permintaan kedua cakupan. Jika ya hanya menulis data tekanan darah ke platform Google Fit, dan hanya perlu meminta cakupan operasi tulis.
Memilih jenis data secara bertanggung jawab. Jangan meminta setiap jenis data jika aplikasi Anda mungkin membutuhkannya. Jenis yang ditentukan menentukan cakupan yang diminta oleh pengguna yang akan diberi izin. Hanya minta jenis data yang dibutuhkan aplikasi Anda sehingga pengguna lebih mungkin untuk memberikan akses. Pengguna lebih mudah memberikan akses kepada cakupan yang dijelaskan.
Gunakan tabel ini untuk memeriksa apakah cakupan yang perlu diakses aplikasi Anda bersifat sensitif atau dibatasi (yang menentukan izin verifikasi langkah-langkah 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 ada
Saat Anda mengupdate aplikasi untuk meminta cakupan baru (misalnya, jika Anda menambahkan yang baru tidur atau detak jantung, atau menambahkan cakupan baca), pengguna akan ditanya aplikasi Anda meminta akses ke cakupan ini dan aplikasi dapat memilih untuk memberikan atau menolak akses.
Praktik terbaiknya adalah meminta otorisasi dari pengguna untuk resource pada saat itu saat dibutuhkan. Ikuti panduan tentang cara meminta inkremental otorisasi.
Pengguna akan lebih cenderung memberikan akses jika mereka memahami mengapa/bagaimana aplikasi Anda menggunakan data ini:
- Pertimbangkan untuk menambahkan layar yang memperingatkan/memberi tahu pengguna bahwa mereka akan diminta cakupan tersebut.
- Jelaskan dengan jelas alasan aplikasi Anda meminta akses ke cakupan/data ini sehingga pengguna dapat membuat keputusan yang tepat.
Pelajari lebih lanjut praktik terbaik seputar izin aplikasi untuk Android.