Jenis data

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.

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 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.