アプリで、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
カスタム データ型の名前を文字列
(com.packagename.appname.custom_data_type)から DataType オブジェクトに変換するには、
ConfigClient.readDataType メソッドを使用します。返されたオブジェクトを使用して、カスタム データを
挿入および読み取ります。
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
カスタム データ型を使用してカスタム データを追加または読み取るには、データソースが必要です。カスタム データ型のデータソースを確認するには、REST API に GET
リクエストを送信します。
カスタム データを追加する
カスタム データを挿入するには、新しいデータポイントを含むデータセットを作成します。カスタム データ型用に作成したデータソースを指定します。データポイントには、カスタム データ型で指定されているすべての正しいフィールドと形式が必要です。
カスタム データを読み取る
カスタム データを読み取るには、Google Fit プラットフォームからデータポイントを取得するときに、カスタム データ型用に作成したデータソースを指定します。