Jenis data

Google Fit menyediakan kumpulan jenis data kesehatan dan kebugaran dalam namespace com.google.

Tipe 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 agregat. Titik data terdiri dari nilai untuk kolom jenis data dan informasi stempel waktu. Titik yang mewakili pengamatan instan menyertakan stempel waktu, dan titik jenis data agregat juga menyertakan waktu mulai untuk interval tersebut.

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 untuk 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 mengetahui informasi selengkapnya, lihat Jenis data kesehatan.
Jenis data agregat
Jenis data untuk membaca informasi kesehatan dan kebugaran yang digabungkan menurut waktu atau jenis aktivitas. Untuk 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 dari jenis ini. Untuk mengetahui informasi selengkapnya, lihat Jenis data kustom.

Menggunakan jenis data

Android

Di Android, jenis data ditetapkan sebagai kolom publik class DataType. Cara Anda memanggil API Kebugaran 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 direkam.
  • Untuk membaca data, gunakan History API untuk mengirim permintaan baca untuk setiap jenis data.
  • Untuk menyisipkan data historis dari masa lalu, gunakan History API untuk mengirimkan 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 objek DataType instan, 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 menyertakan jenis data (dan daftar kolomnya) untuk setiap sumber data. Anda dapat menentukan salah satu jenis data ini saat membuat sumber data, dan dapat memperoleh nama jenis data serta daftar kolomnya saat mengambil sumber data dari penyimpanan kebugaran.

Misalnya, representasi sumber data menentukan tipe datanya sebagai berikut:

{
"dataStreamId": "exampleDataSourceId",
...
"dataType": {
  "name": "com.google.step_count.delta"
},
...
}

Cakupan otorisasi

Cakupan otorisasi mencakup grup jenis data yang dapat diakses oleh pengguna yang dapat mengizinkan aplikasi untuk diakses. Keduanya membantu pengguna memahami jenis data apa yang ingin diakses oleh aplikasi. Izin ini juga memudahkan aplikasi untuk menggunakan data tersebut tanpa harus menyetujui setiap jenis data satu per satu. Pengguna memberikan izin ini setelah 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 harus mendeklarasikan bahwa aplikasi tersebut melakukan pembacaan dan penulisan serta meminta kedua cakupan. Jika hanya menulis data tekanan darah ke platform Google Fit, aplikasi hanya perlu meminta cakupan tulis.

Pilih jenis data secara bertanggung jawab. Jangan meminta setiap jenis data jika aplikasi Anda mungkin membutuhkannya. Jenis yang ditentukan menentukan cakupan mana yang diminta kepada pengguna untuk memberikan izin. Hanya minta jenis data yang dibutuhkan aplikasi Anda agar pengguna cenderung memberikan akses. Pengguna dapat lebih mudah memberikan akses ke cakupan terbatas yang dideskripsikan dengan jelas.

Gunakan tabel ini untuk memeriksa apakah cakupan yang perlu diakses oleh aplikasi Anda sensitif atau dibatasi (yang menentukan 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 ada

Saat mengupdate aplikasi untuk meminta cakupan baru (misalnya, jika Anda menambahkan cakupan tidur atau detak jantung baru, atau menambahkan cakupan baca), pengguna akan diminta bahwa aplikasi Anda meminta akses ke cakupan tersebut dan mereka dapat memilih untuk memberikan atau menolak akses.

Praktik terbaiknya adalah meminta otorisasi dari pengguna untuk resource pada saat Anda membutuhkannya. Ikuti panduan untuk 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 untuk cakupan ini.
  • Jelaskan alasan aplikasi Anda meminta akses ke cakupan/data ini agar pengguna dapat membuat keputusan yang tepat.

Pelajari lebih lanjut praktik terbaik seputar izin aplikasi untuk Android.