使用 Google Health API 開發步數體驗

Google Health API 會使用steps間隔資料類型追蹤使用者的步數和活動記錄。步數是每日體能活動的基本指標,可協助開發人員追蹤健身進度、計算能量消耗,以及建立使用者可查看的每日活動摘要。

瞭解如何解讀及建構應用程式中的步數指標,為使用者提供最佳體驗。

支援的資料類型

這個 API 支援下列追蹤步數的資料類型:

表格:Google Health API 步數資料類型
資料類型
  dataType
  filter 參數
記錄
類型
可用的
作業
範圍 Webhook
支援
支援真正的零
步驟
  steps
  steps
時間間隔 list、reconcile、rollup、dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly

以下各節提供 steps 資料類型的技術詳細資料,包括 REST 代表性範例和整合指南。

必要範圍

如要存取這類資料,應用程式必須要求下列 OAuth 範圍:

  • 讀取https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly
  • 撰寫https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly

規範

將步數追蹤功能整合至應用程式時,請遵循下列設計和實作規範。

每日總覽

如要在旅行、時區變更或日光節約時間期間準確匯總每日步數,請勿執行用戶端時間長度計算。請改為查詢 dailyRollUp 端點,系統會使用世界標準時間偏移量自動調解實體資料間隙。匯總會傳回 StepsRollupValue,其中包含 countSum 欄位,代表要求日期累積的總步數。

繪製使用者介面 (協調)

建構用於顯示步數資料的使用者介面元素時,請使用 reconcile 端點。如果多個資料來源 (例如智慧手錶和手機) 同時記錄步數,reconcile 端點會解決衝突並合併資料串流,傳回單一的已調解資料串流。

當日追蹤和直方圖

如要顯示全天的詳細使用者活動 (例如圖表):

  • 每小時步數直方圖:查詢 rollUp 端點,並使用 windowSize 參數指定時間長度 (例如 3600s 代表 1 小時)。
  • 所有步數記錄:使用 list 端點擷取最精細的原始步數記錄。

rollUpreconcile 端點都會接受 dataSourceFamily 查詢參數,方便您篩選特定來源群組的資料。

使用 Webhook 進行即時同步

訂閱 steps 資料類型集合,即可在匯入或同步處理新的步數資料時收到即時通知。您不必輪詢 REST 端點,而是可以動態更新用戶端資訊主頁,以回應這些 Webhook 通知。如要瞭解如何設定訂閱項目,請參閱Webhook 訂閱項目

處理真正的零

Google Health API 會實作真正的零,以解決久坐不動的時間間隔。如果使用者處於活動狀態或配戴追蹤器,但沒有走路,追蹤器會以 count"0" 寫入明確的步數間隔。這樣一來,您就能區分使用者配戴裝置但未採取任何動作的時段,以及使用者未配戴裝置的時段。詳情請參閱資料存在與實際零值指南。