自訂資料類型

如果您的應用程式需要擷取 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 中,資料類型是資料來源的屬性。擷取 您需要建立資料來源,然後指定資料類型:

  1. 呼叫 REST API 來建立新的資料來源。例如 FlexibilityMeasure
  2. 為資料類型設定不重複的名稱,充分代表所擷取的資料。

  3. 指定資料類型的欄位及其格式。

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 平台擷取資料點的資料類型。