数据存在情况和真实零值

为了确保数据准确性和汇总结果的一致性,Google 健康数据 API 改进了用户活动的报告方式。通过引入 true zeroson-wrist filtering,该 API 可让您准确区分用户静止不动的时间段和未佩戴设备的时间段。

True Zeros

真正的零值是指明确的数据点,表示用户佩戴了设备并积极进行跟踪,但特定指标的记录值为零。例如,用户在佩戴设备时,可能会在 1 分钟的时间间隔内记录到 0 步或 0 距离。

从历史上看,缺失的数据一直存在歧义。这可能表示用户处于久坐状态,也可能表示设备未佩戴在手腕上。该 API 通过在设备佩戴但处于非活动状态时明确存储并返回 0 值来解决此问题。这样可确保您能清楚区分静止佩戴时段和缺失的数据。

腕间过滤

腕上过滤是指识别用户是否实际佩戴了设备的过程。这样一来,API 就可以滤除多余的数据,例如设备放在包中时因车辆振动而记录的“虚假”步数。

支持的数据类型

以下数据类型支持“真零”行为和腕上过滤:

  • 海拔高度
  • 距离
  • 楼层数
  • 步骤
  • 总卡路里数

对应用的影响

实现真实零值有助于更准确地解读数据缺口和计算指标(例如日平均值)。

列表和汇总行为

默认情况下,Google Health API 仅针对以下数据类型返回腕戴设备数据:

  • 列表操作:仅返回设备佩戴期间的数据点。
    • 数据缺口:列表中的缺口和缺失记录表示设备未佩戴在手腕上或未同步。
    • 空记录:如果用户佩戴设备期间没有活动(即为零),系统会返回包含正常 dataSource 和时间间隔或时间戳信息的数据点,但会省略特定于指标的字段(例如 count 属性)。这些值应解读为零值。
  • 汇总操作:响应中的零表示真正的零(用户佩戴了设备,但没有移动)。如果跟踪设备在特定时间段内未佩戴,则 API 不会返回相应汇总窗口的数据。

list 操作中,当设备端算法重新对原始传感器遥测数据进行分桶时,连续的关联设备同步也可能会产生重叠的时间间隔。如需详细了解如何处理时间段重叠,请参阅数据管理指南

与 Fitbit Web API 的比较

即使未佩戴追踪设备,Fitbit Web API 也经常返回数据(包括零)。Google Health API 可更准确地表示运动情况。

功能 Fitbit Web API Google Health API
非活跃状态的模糊性 数据缺失可能表示处于不活动状态或未佩戴手环。 如果为 true,则明确表示穿戴时处于不活动状态。
数据缺口 数据缺口可能默认为 UTC 偏移量。 显式存储可解决时区和民用时间问题。
过滤 手环上的过滤功能有限。 严格的手环端过滤可确保生理指标的准确性。