Google Health API 使用 steps 区间数据类型来跟踪用户步数和活动数据。步数是衡量每日身体活动的基本指标,可帮助开发者跟踪健身进度、计算能量消耗,以及构建面向用户的每日活动摘要。
了解如何在应用中读取和构建步数指标,以便为用户提供最佳体验。
支持的数据类型
该 API 支持以下数据类型来跟踪步数:
数据类型dataType
filter 参数 |
记录 类型 |
可用的 操作 |
范围 | 网络钩子 支持 |
支持真正的零 |
|---|---|---|---|---|---|
步骤
stepssteps
|
间隔 | 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 端点,该端点会使用 UTC 偏移量自动协调实际数据缺口。汇总会返回一个 StepsRollupValue,其中包含 countSum 字段,表示所请求日期的累计总步数。
绘制界面(协调)
构建用于显示步数数据的界面元素时,请使用 reconcile 端点。如果多个数据源(例如智能手表和手机)同时记录了步数,reconcile 端点会解决冲突并合并数据流,以返回单个协调的数据流。
日内跟踪和直方图
如需显示全天的详细用户活动(例如图表和图形),请执行以下操作:
- 每小时步数直方图:查询
rollUp端点,使用windowSize参数指定时长(例如,3600s表示 1 小时)。 - 所有步数记录:使用
list端点可获取最精细的原始步数记录。
rollUp 和 reconcile 端点都接受 dataSourceFamily 查询参数,从而允许您过滤来自特定来源组的数据。
使用 Webhook 进行实时同步
订阅 steps 数据类型集合,以便在导入或同步新的步数数据时实时收到通知。无需轮询 REST 端点,而是根据这些 Webhook 通知动态更新客户端信息中心。如需详细了解如何设置订阅,请参阅 Webhook 订阅。
处理真实零值
Google 健康数据 API 会实现真正的零值来解决久坐时间段问题。如果用户处于活跃状态或佩戴着手环,但没有行走,手环会写入明确的步数间隔,count 为 "0"。这样一来,您就可以区分用户佩戴设备时未走任何步数的时间段,以及用户根本未佩戴设备的时间段。如需了解详情,请参阅数据存在情况和实际零值指南。