Jenis data kustom

Jika aplikasi Anda perlu mengambil informasi yang belum dicakup oleh salah satu tipe data yang sudah ada di platform Google Fit, Anda dapat membuat jenis data kustom.

Membuat jenis data kustom

Buat atau tentukan jenis data kustom untuk mengambil data kustom. Saat Anda membuat jenis data khusus, pastikan:

  • Nama jenis data mewakili data pokok secara akurat.
  • Awalan nama jenis data cocok dengan nama paket aplikasi Anda.

Android

Untuk membuat jenis data kustom untuk pertama kalinya, gunakan ConfigClient.createCustomDataType berikut:

val request = DataTypeCreateRequest.Builder()
    // The prefix of your data type name must match your app's package name
    .setName("com.packagename.appname.custom_data_type") // Add some custom fields, both int and float
    .addField("field1", Field.FORMAT_INT32)
    .addField("field2", Field.FORMAT_FLOAT)
    // Add some common fields
    .addField(Field.FIELD_ACTIVITY)
    .build()

Fitness.getConfigClient(this, account)
    .createCustomDataType(request)
    .addOnSuccessListener { dataType ->
        // Use this custom data type to insert data into your app.
        Log.d(TAG, "Created data type: ${dataType.name}")
    }

REST

Jenis data adalah properti sumber data, di REST API. Untuk mengambil data kustom, Anda harus membuat sumber data lalu menentukan jenis datanya:

  1. Panggil REST API untuk membuat sumber data baru. Misalnya, FlexibilityMeasure.
  2. Berikan nama unik pada tipe data, yang menggambarkan data yang diambilnya.

  3. Tentukan kolom jenis data, dan formatnya.

Metode HTTP

POST

URL Permintaan

https://www.googleapis.com/fitness/v1/users/me/dataSources

Isi permintaan

{
  "dataStreamName": "FlexibilityMeasure",
  "type": "raw",
  "application": {
    "detailsUrl": "http://recoveryapps.com",
    "name": "Stretch Flex",
    "version": "1"
  },
  "dataType": {
    "name": "com.recoveryapps.stretchflex.flexibility",
    "field": [
     {
      "name": "ankle_range_degrees",
      "format": "integer"
     },
     {
      "name": "wrist_range_degrees",
      "format": "integer",
      "optional": true
     }
    ]
   }
}

Respons

Jika sumber data berhasil dibuat, Anda akan mendapatkan HTTP 200 OK kode status respons Anda. Isi respons berisi representasi JSON dari sumber data, termasuk properti datasource.dataStreamId. Gunakan ID ini sebagai dataSourceId untuk menambahkan data.

Menggunakan jenis data kustom

Android

Mengonversi nama jenis data kustom dari string (com.packagename.appname.custom_data_type) ke dalam objek DataType menggunakan Metode ConfigClient.readDataType. Gunakan objek yang ditampilkan untuk menyisipkan dan membaca data kustom.

Fitness.getConfigClient(this, account)
    .readDataType("com.packagename.appname.custom_data_type")
    .addOnSuccessListener { dataType ->
        // Use this custom data type to insert data into your app.
        Log.d(TAG, "Retrieved data type: ${dataType.name}")
    }

REST

Untuk menambahkan atau membaca data kustom menggunakan jenis data kustom, Anda memerlukan data mereka sumber. Untuk memeriksa sumber data jenis data kustom, kirim GET ke REST API.

Menambahkan data kustom

Untuk menyisipkan data kustom, buat set data dengan titik data baru. Tentukan sumber data yang Anda buat untuk jenis data kustom Anda. Titik-titik data itu perlu memiliki semua kolom dan format yang benar yang ditentukan dalam jenis data kustom Anda.

Membaca data kustom

Untuk membaca data kustom, tentukan sumber data yang Anda buat untuk kustom jenis data saat Anda mengambil titik data dari platform Google Fit.