Google Fit プラットフォームの既存のデータタイプではカバーされない情報をアプリでキャプチャする必要がある場合は、カスタムデータ型を作成できます。
カスタムデータ型の作成
カスタムデータを取得するためのカスタムデータ型を作成するか、指定します。カスタムデータ型を作成する場合は、次のことを確認してください。
- データタイプ名は、基になるデータを正確に表しています。
データ型名の接頭辞は、アプリのパッケージ名と一致します。
Android
カスタムデータ型を初めて作成するには、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
データ型は REST API のデータソースのプロパティです。カスタムデータをキャプチャするには、データソースを作成してから、データ型を指定する必要があります。
- REST API を呼び出して新しいデータソースを作成します。例:
FlexibilityMeasure
データ型に、キャプチャするデータを厳密に表す一意の名前を付けます。
データ型のフィールドとその形式を指定します。
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 レスポンス ステータス コードが返されます。レスポンスの本文には、datasource.dataStreamId
プロパティなど、データソースの JSON 表現が含まれます。この ID を dataSourceId
として使用してデータを追加します。
カスタムデータ型の使用
Android
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}")
}
REST
カスタムデータ型を使用してカスタムデータを追加または読み取るには、それらのデータソースが必要です。カスタムデータ型のデータソースを確認するには、GET
リクエストを REST API に送信します。
カスタムデータの追加
カスタムデータを挿入するには、新しいデータポイントを使用してデータセットを作成します。カスタムデータ型用に作成したデータソースを指定します。データポイントには、カスタムデータ型で指定されたすべての正しいフィールドと形式を含める必要があります。
カスタムデータの読み取り
カスタムデータを読み取るには、Google Fit プラットフォームからデータポイントを取得するときに、カスタムデータ型用に作成したデータソースを指定します。