カスタムデータ型

アプリで、Google Fit プラットフォームの既存のデータ型のいずれにも対応していない情報を取得する必要がある場合は、カスタム データ型を作成できます。

カスタムデータ型の作成

カスタムデータをキャプチャするカスタムデータ型を作成または指定します。カスタムデータ型を作成する際は、次の点を確認してください。

  • データ型名が基になるデータを正確に表している。
  • データ型名の接頭辞がアプリのパッケージ名と一致している。

AndroidREST

カスタムデータ型を初めて作成するには、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 API でのデータソースのプロパティです。キャプチャ カスタムデータを作成するには、データソースを作成してからデータ型を指定する必要があります。

  1. REST API を呼び出して新しいデータソースを作成します。例: FlexibilityMeasure
  2. データ型に一意の名前を付けます。この名前は、キャプチャするデータを正確に表す必要があります。

  3. データ型のフィールドとその形式を指定します。

HTTP メソッド

POST

リクエスト URL

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

リクエストの本文

{
 
"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
     
}
   
]
   
}
}

レスポンス

データソースが正常に作成されると、200 OK HTTP が表示されます。 レスポンス ステータス コード。レスポンスの本文には、レスポンスの JSON 表現が データソース(datasource.dataStreamId プロパティを含む)。この ID を dataSourceId として使用してデータを追加します。

カスタムデータ型の使用

AndroidREST

ConfigClient.readDataType メソッドを使用して、カスタムデータ型の名前を文字列(com.packagename.appname.custom_data_type)から DataType オブジェクトに変換します。返されたオブジェクトを使用して挿入します カスタムデータを読み取ります。

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}")
   
}

カスタムデータ型を使用してカスタムデータを追加または読み取るには、そのデータが必要です あります。カスタムデータ型のデータソースを確認するには、GET リクエストを REST API に送信します。

カスタムデータの追加

カスタムデータを挿入するには、新しいデータポイントを含むデータセットを作成します。カスタムデータ型用に作成したデータソースを指定します。データポイントは カスタムデータ型に指定されたすべての正しいフィールドと形式があることを確認します。

カスタムデータの読み取り

カスタムデータを読み取るには、Google Fit プラットフォームからデータポイントを取得するときに、カスタムデータ型用に作成したデータソースを指定します。