Google Fit 會在 com.google
命名空間底下提供一組健康與保健資料類型。
資料類型會定義資料點內值的格式。資料點可代表:
- 同步閱讀或觀察
- 時間間隔內的統計資料匯總
Google Fit 會定義即時觀察的資料類型和匯總資料類型 資料。資料點是由資料類型欄位的值和時間戳記資訊所組成。 代表即時觀察的點包括時間戳記和 匯總資料類型也包括時間間隔的開始時間。
Google Fit 還可讓您定義新的資料類型。
資料類型群組
Google Fit 提供以下資料類型:
- 公開資料類型
- 平台提供的標準資料類型會包含「com.google」前置字串。例如 com.google.step_count.delta。這些資料類型會擷取 健康與保健資料,包括健身活動、睡眠和營養。不限 應用程式可以要求讀取及寫入這些資料類型的相關權限。 但部分位置資料類型僅能由應用程式讀取或讀取 所寫的內容
如需詳細資訊,請參閱:
- 健康資料類型
- 由平台提供,存取權受限的資料類型 可能屬於機密資料詳情請參閱「健康資料」一文 類型。
- 匯總資料類型
- 資料類型,可用來讀取依時間匯總的健康與保健資訊,或 活動類型。詳情請參閱「匯總資料」 類型。
- 私人自訂資料類型
- 特定應用程式定義的自訂資料類型。只有定義 資料類型可以讀取和寫入此類型的資料。若需更多資訊,請參閲 自訂資料類型:
使用資料類型
Android
在 Android 上,資料類型會定義為
DataType
敬上
類別如何利用資料類型叫用 Fitness API,取決於您要完成的目標:
- 如要記錄資料,請使用 Recording API: 可為您要記錄的每種資料類型建立訂閱項目。
- 如要讀取資料,請使用 History API 來提交讀取作業 來處理每個資料類型的要求
- 如要插入過去的歷來資料,請使用 History API 進行下列操作: 可針對每種資料類型提交插入要求。
- 如要建立工作階段,請使用 Sessions API 插入或記錄工作階段 含有工作階段中繼資料的資料
為了在不造成乾擾的情況下建立資料點
DataType
敬上
物件,請使用正確的格式指定值。以下範例顯示
如何以字串形式指定食物項目,如何將餐點類型指定為
Field
類別,
以及營養素的內容 (對應浮點值)
val nutritionSource = DataSource.Builder() .setDataType(DataType.TYPE_NUTRITION) ... .build() val nutrients = mapOf( Field.NUTRIENT_TOTAL_FAT to 0.4f, Field.NUTRIENT_SODIUM to 1f, Field.NUTRIENT_POTASSIUM to 422f ) val banana = DataPoint.builder(nutritionSource) .setTimestamp(now, TimeUnit.MILLISECONDS) .setField(Field.FIELD_FOOD_ITEM, "banana") .setField(Field.FIELD_MEAL_TYPE, Field.MEAL_TYPE_SNACK) .setField(Field.FIELD_NUTRIENTS, nutrients) .build()
在應用程式中設定資料點後,你就能插入、讀取或刪除資料點 使用 History API 處理歷來資料。
REST
dataSources
資源包含資料類型
以及其欄位清單您可以在下列情況中
建立資料來源,您可以取得資料類型的名稱和欄位清單
從健身商店擷取資料來源時。
舉例來說,資料來源表示法會指定資料類型,如下所示:
{ "dataStreamId": "exampleDataSourceId", ... "dataType": { "name": "com.google.step_count.delta" }, ... }
授權範圍
授權範圍涵蓋使用者可授權應用程式的資料類型 資源存取權可協助使用者瞭解應用程式需要存取哪些類型的資料。 而且,應用程式 API 也能更輕鬆地授予應用程式使用該資料的權限,因為 以便核准每種資料類型使用者必須先授予這些權限, 下載的應用程式。
![OAuth 範圍同意畫面範例](https://developers.google.cn/static/fit/images/OAuth_scopes_example.png?authuser=0000&hl=zh-tw)
先邀請少數使用者測試應用程式後,再推出 ,您必須根據 與這些資料類型相關的範圍詳閱連結的資料類型頁面 瞭解各種資料類型適用的範圍。
舉例來說,如果您的應用程式需要讀取及寫入血壓, 需要宣告其同時執行讀取和寫入,以及要求這兩種範圍。如果是 只要將血壓資料寫入 Google Fit 平台即可 要求寫入範圍
請以負責任的態度選擇資料類型。請勿在應用程式中要求所有資料類型 這可能需要用到。指定的類型會決定要提示使用者的範圍 以便授予權限。只要求使用者提供應用程式所需的資料類型 授予存取權的機率越高使用者較能清楚地授予有限存取權 描述範圍。
您可以使用這個表格查看應用程式需要存取哪些範圍的機密或資料 受限 (會決定驗證 您需要採取的步驟):
範圍 | 說明 | 類別 |
---|---|---|
https://www.googleapis.com/auth/fitness.activity.read |
從 Google Fit 平台讀取活動資料。 | 受限制 |
https://www.googleapis.com/auth/fitness.activity.write |
將活動資料寫入 Google Fit 平台 | 受限制 |
https://www.googleapis.com/auth/fitness.blood_glucose.read |
從 Google Fit 平台讀取血糖資料。 | 受限制 |
https://www.googleapis.com/auth/fitness.blood_glucose.write |
將血糖資料寫入 Google Fit 平台。 | 受限制 |
https://www.googleapis.com/auth/fitness.blood_pressure.read |
讀取 Google Fit 平台的血壓資料。 | 受限制 |
https://www.googleapis.com/auth/fitness.blood_pressure.write |
將血壓資料寫入 Google Fit 平台。 | 受限制 |
https://www.googleapis.com/auth/fitness.body.read |
從 Google Fit 平台讀取身體測量資料 (身高、體重、體脂肪百分比)。 | 受限制 |
https://www.googleapis.com/auth/fitness.body.write |
將身體測量資料寫入 Google Fit 平台。 | 受限制 |
https://www.googleapis.com/auth/fitness.body_temperature.read |
從 Google Fit 平台讀取體溫資料。 | 受限制 |
https://www.googleapis.com/auth/fitness.body_temperature.write |
將體溫資料寫入 Google Fit 平台。 | 受限制 |
https://www.googleapis.com/auth/fitness.heart_rate.read |
從 Google Fit 平台讀取心跳速率資料。 | 受限制 |
https://www.googleapis.com/auth/fitness.heart_rate.write |
將心率資料寫入 Google Fit 平台。 | 受限制 |
https://www.googleapis.com/auth/fitness.location.read |
從 Google Fit 平台讀取位置資料。 | 受限制 |
https://www.googleapis.com/auth/fitness.location.write |
將位置資料寫入 Google Fit 平台。 | 受限制 |
https://www.googleapis.com/auth/fitness.nutrition.read |
讀取 Google Fit 平台中的營養資料。 | 受限制 |
https://www.googleapis.com/auth/fitness.nutrition.write |
將營養資料寫入 Google Fit 平台。 | 受限制 |
https://www.googleapis.com/auth/fitness.oxygen_saturation.read |
從 Google Fit 平台讀取氧飽和度資料。 | 受限制 |
https://www.googleapis.com/auth/fitness.oxygen_saturation.write |
將氧飽和度資料寫入 Google Fit 平台。 | 受限制 |
https://www.googleapis.com/auth/fitness.reproductive_health.read |
讀取 Google Fit 平台中的生殖健康資料。 | 受限制 |
https://www.googleapis.com/auth/fitness.reproductive_health.write |
將生殖健康資料寫入 Google Fit 平台。 | 受限制 |
https://www.googleapis.com/auth/fitness.sleep.read |
從 Google Fit 平台讀取睡眠資料。 | 受限制 |
https://www.googleapis.com/auth/fitness.sleep.write |
將睡眠資料寫入 Google Fit 平台。 | 受限制 |
在現有應用程式中新增範圍
當您更新應用程式以要求新的範圍時 (例如,如果您將新的範圍 睡眠或心率範圍,或是新增讀取範圍),系統會提示使用者 您的應用程式正在要求存取這些範圍,可以選擇授予 或拒絕存取權
最佳做法是向使用者提出資源授權要求 您需要的遵循請求遞增 授權。
如果使用者瞭解應用程式的原因/方式,會更有可能授予存取權 使用的資料如下:
- 請考慮新增用來警告/通知使用者付費的畫面 以及這些範圍
- 請清楚說明應用程式要求存取這些範圍/資料的原因, 讓使用者做出明智決定
進一步瞭解 Android 應用程式權限的最佳做法。