Jenis data

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
Gambar 2.Layar izin cakupan OAuth.

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.