使用 Google Health API 开发步数体验

Google Health API 使用 steps 区间数据类型来跟踪用户步数和活动数据。步数是衡量每日身体活动的基本指标,可帮助开发者跟踪健身进度、计算能量消耗,以及构建面向用户的每日活动摘要。

了解如何在应用中读取和构建步数指标,以便为用户提供最佳体验。

支持的数据类型

该 API 支持以下数据类型来跟踪步数:

表格:Google Health API 步数数据类型
数据类型
  dataType
  filter 参数
记录
类型
可用的
操作
范围 网络钩子
支持
支持真正的零
步骤
  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 端点,该端点会使用 UTC 偏移量自动协调实际数据缺口。汇总会返回一个 StepsRollupValue,其中包含 countSum 字段,表示所请求日期的累计总步数。

绘制界面(协调)

构建用于显示步数数据的界面元素时,请使用 reconcile 端点。如果多个数据源(例如智能手表和手机)同时记录了步数,reconcile 端点会解决冲突并合并数据流,以返回单个协调的数据流。

日内跟踪和直方图

如需显示全天的详细用户活动(例如图表和图形),请执行以下操作:

  • 每小时步数直方图:查询 rollUp 端点,使用 windowSize 参数指定时长(例如,3600s 表示 1 小时)。
  • 所有步数记录:使用 list 端点可获取最精细的原始步数记录。

rollUpreconcile 端点都接受 dataSourceFamily 查询参数,从而允许您过滤来自特定来源组的数据。

使用 Webhook 进行实时同步

订阅 steps 数据类型集合,以便在导入或同步新的步数数据时实时收到通知。无需轮询 REST 端点,而是根据这些 Webhook 通知动态更新客户端信息中心。如需详细了解如何设置订阅,请参阅 Webhook 订阅

处理真实零值

Google 健康数据 API 会实现真正的零值来解决久坐时间段问题。如果用户处于活跃状态或佩戴着手环,但没有行走,手环会写入明确的步数间隔,count"0"。这样一来,您就可以区分用户佩戴设备时未走任何步数的时间段,以及用户根本未佩戴设备的时间段。如需了解详情,请参阅数据存在情况和实际零值指南。