Uygulamanızın, Google Fit platformundaki mevcut veri türlerinden biri tarafından kapsanmayan bilgileri yakalaması gerekiyorsa özel bir veri türü oluşturabilirsiniz.
Özel veri türleri oluşturma
Özel verileri yakalamak için özel bir veri türü oluşturun veya belirtin. Özel veri türleri oluştururken şunlara dikkat edin:
- Veri türü adı, temel alınan verileri doğru şekilde temsil ediyor.
Veri türü adının öneki, uygulamanızın paket adıyla eşleşiyor.
Android
İlk kez özel veri türü oluşturmak için ConfigClient.createCustomDataType yöntemini kullanın:
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
Veri türleri, REST API'de veri kaynaklarının bir özelliğidir. Özel verileri yakalamak için bir veri kaynağı oluşturmanız ve ardından veri türünü belirtmeniz gerekir:
- Yeni bir veri kaynağı oluşturmak için REST API'yi çağırın. Örneğin,
FlexibilityMeasure. Veri türüne, yakaladığı verileri yakından temsil eden benzersiz bir ad verin.
Veri türünün alanlarını ve biçimlerini belirtin.
HTTP yöntemi
POST
İstek URL'si
https://www.googleapis.com/fitness/v1/users/me/dataSources
İstek metni
{
"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
}
]
}
}
Yanıt
Veri kaynağınız başarıyla oluşturulduysa 200 OK HTTP yanıt durum kodu alırsınız. Yanıt gövdesinde, datasource.dataStreamId özelliği de dahil olmak üzere veri kaynağının JSON gösterimi bulunur. Veri eklemek için bu kimliği dataSourceId olarak kullanın.
Özel veri türlerini kullanma
Android
ConfigClient.readDataType yöntemini kullanarak özel veri türünüzün adını dizeden (com.packagename.appname.custom_data_type) DataType nesnesine dönüştürün. Döndürülen nesneyi kullanarak özel verileri ekleyin ve okuyun.
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
Özel veri türlerinizi kullanarak özel veri eklemek veya okumak için bu türlerin veri kaynaklarına ihtiyacınız vardır. Özel veri türünün veri kaynaklarını kontrol etmek için REST API'ye GET
istek gönderin.
Özel veri ekleme
Özel veriler eklemek için yeni veri noktaları içeren bir veri kümesi oluşturun. Özel veri türünüz için oluşturduğunuz veri kaynağını belirtin. Veri noktaları, özel veri türünüzde belirtilen tüm doğru alanlara ve biçimlere sahip olmalıdır.
Özel verileri okuma
Özel verileri okumak için Google Fit platformundan veri noktalarını alırken özel veri türünüz için oluşturduğunuz veri kaynağını belirtin.