Uygulamanızın, Google Fit platformunda mevcut veri türleri varsa ö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. Oluştururken özel veri türlerini kullanıyorsanız şunlara dikkat edin:
- Veri türü adı, temel verileri doğru şekilde temsil ediyor.
Veri türü adının ön eki, uygulamanızın paket adıyla eşleşiyor.
Android
İlk kez özel bir veri türü oluşturmak için
ConfigClient.createCustomDataType
yöntem:
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'deki 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
. Bu veri türüne, yakaladığı verileri yakından temsil eden benzersiz bir ad verin.
Veri türü 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övdesi, datasource.dataStreamId
mülkü de dahil olmak üzere veri kaynağının JSON temsilini içerir. Bu kimliği kullan
dataSourceId
olarak belirleyin.
Özel veri türlerini kullanma
Android
Özel veri türünüzün adını, ConfigClient.readDataType
yöntemini kullanarak bir dize (com.packagename.appname.custom_data_type) biçiminden DataType
nesnesine dönüştürün. Döndürülen nesneyi insert için kullanın.
ve özel verileri 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 veriler eklemek veya okumak için bu verilerin veri kaynaklarına ihtiyacınız vardır. Özel bir veri türünün veri kaynaklarını kontrol etmek için GET
gönderin
isteği gönderin.
Özel veriler ekleme
Özel veri 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ında, özel veri türünüzde belirtilen tüm doğru alanların ve biçimlerin bulunması gerekir.
Özel verileri okuma
Özel verileri okumak istiyorsanız özel için oluşturduğunuz veri kaynağını belirtin. veri türünü ifade eder.