Özel veri türleri

Uygulamanızın Google Fit platformundaki mevcut veri türlerinden birinin kapsamına girmeyen 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 şunları yapın:

  • Veri türü adı, temel verileri doğru şekilde temsil eder.
  • Veri türü adının ön eki, uygulamanızın paket adıyla eşleşir.

Android

İlk kez özel bir 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'deki veri kaynaklarının mülküdür. Özel verileri yakalamak için, veri kaynağı oluşturmanız ve ardından veri türünü belirtmeniz gerekir:

  1. Yeni bir veri kaynağı oluşturmak için REST API'yi çağırın. Örneğin, FlexibilityMeasure.
  2. Veri türüne, yakaladığı verileri yakından temsil eden benzersiz bir ad verin.

  3. Veri türünün alanlarını ve biçimlerini belirtin.

HTTP yöntemi

POST

URL isteyin

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 özelliği dahil olmak üzere veri kaynağının JSON temsilini içerir. Veri eklemek için bu kimliği dataSourceId olarak kullanın.

Özel veri türlerini kullanma

Android

Bir dizedeki (com.packagename.appname.custom_data_type) özel veri türünüzün adını, ConfigClient.readDataType yöntemini kullanarak bir DataType nesnesine dönüştürün. Özel verileri eklemek ve okumak için döndürülen nesneyi kullanın.

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 veri kaynaklarına ihtiyacınız vardır. Özel bir veri türünün veri kaynaklarını kontrol etmek için REST API'ye bir GET isteği gönderin.

Özel veri 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ının, özel veri türünüzde belirtilen tüm doğru alan ve biçimlere sahip olması gerekir.

Özel verileri okuma

Özel verileri okumak istiyorsanız veri noktalarını Google Fit platformundan alırken özel veri türünüz için oluşturduğunuz veri kaynağını belirtin.