Jika aplikasi Anda perlu mengambil informasi yang belum dicakup oleh salah satu jenis data yang 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 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 metode ConfigClient.createCustomDataType
:
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 data:
- Panggil REST API untuk membuat sumber data baru. Misalnya,
FlexibilityMeasure
. Beri nama unik untuk jenis data, yang paling sesuai dengan data yang diambilnya.
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 kode status respons
HTTP 200 OK
. 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
Konversi nama jenis data kustom Anda dari string (com.packagename.appname.custom_data_type) menjadi objek DataType
menggunakan metode ConfigClient.readDataType
. Menggunakan 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 sumber datanya. Untuk memeriksa sumber data jenis data kustom, kirim permintaan GET
ke REST API.
Menambahkan data kustom
Untuk menyisipkan data khusus, buat {i>dataset<i} dengan titik data baru. Tentukan sumber data yang Anda buat untuk jenis data kustom. Titik data harus memiliki semua kolom dan format yang benar yang ditentukan dalam jenis data kustom Anda.
Membaca data kustom
Untuk membaca data khusus, tentukan sumber data yang dibuat untuk jenis data khusus saat Anda mengambil titik data dari platform Google Fit.