如果您的應用程式需要擷取 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
要求網址
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
新增資料。
使用自訂資料類型
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
如要使用自訂資料類型新增或讀取自訂資料,您需要資料類型
資料來源如要查看自訂資料類型的資料來源,請向 REST API 傳送 GET
要求。
新增自訂資料
如要插入自訂資料,請建立含有新資料點的資料集。指定您為自訂資料類型建立的資料來源。資料點必須包含自訂資料類型中指定的所有正確欄位和格式。
讀取自訂資料
如要讀取自訂資料,請指定您為自訂建立的資料來源 從 Google Fit 平台擷取資料點的資料類型。