汇总数据类型

对于可以持续记录的数据(在一段时间内有多个数据点),Google 健身平台可以汇总这些数据并返回计算结果。可以是平均值,也可以是汇总/总计。通过读取汇总数据,您可以节省这些计算的时间,并轻松向应用用户显示有用的摘要或平均值。

如需读取汇总数据,您需要选择数据类型、时间范围以及用于对数据进行“分桶”(或分组)的依据。您可以通过以下几种不同的方式对数据进行分桶:

时间段
按小时或按天对汇总数据进行分桶。例如,查看每天的步数或消耗卡路里数。
活动类型
按活动类型对汇总数据进行分桶。例如,对于一周的睡眠数据,系统会为每种睡眠活动类型(浅睡眠、深睡眠和 REM 睡眠)创建一个数据桶。
活动行程
按时间段内的活动序列对汇总数据进行分桶。例如,如果用户在上午 9 点到 10 点之间跑步,但前 20 分钟跑步,坐下 10 分钟,步行 15 分钟,再跑步 15 分钟,则系统会将其视为 4 个活动片段,并返回 4 个时间段。
会话
使用会话的时间边界来汇总数据。例如,如果用户进行了 2 次跑步,系统将这两次跑步记录为 2 个会话(一次晨跑和一次下午跑),您可以按会话进行分桶,了解每次跑步的平均步数或平均速度。

活动

使用这些数据类型读取汇总的健康和健身数据。

活动摘要

特定时间段内特定活动的总时间和分段数。 每个数据点都表示特定时间间隔内特定活动类型的所有活动片段的摘要。

REST

名称com.google.activity.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.activity.read
字段(格式 - 单位)
activityint - 枚举)
用户当时正在进行的活动类型。点击此处查看活动类型列表。
durationint - 毫秒)
在相应时间范围内,在某个活动上花费的总时间。
细分数量int - 数量)
相应数据点的时间间隔内不同活动片段的数量。

Android

名称com.google.activity.summary
数据类型对象AGGREGATE_ACTIVITY_SUMMARY
字段(格式 - 单位)
FIELD_ACTIVITYint - 枚举)
用户当时正在进行的活动类型。点击此处查看活动类型列表。
FIELD_DURATIONint - 毫秒)
在相应时间范围内,在某个活动上花费的总时间。
FIELD_NUM_SEGMENTSint - 数量)
相应数据点的时间间隔内不同活动片段的数量。

基础代谢率 (BMR) 摘要

每个数据点都表示相应时间范围内用户的平均基础代谢率、最高基础代谢率和最低基础代谢率(以千卡/天为单位)。如果用户体重增加或减轻,导致其基础代谢率发生变化,此功能会非常有用。

REST

名称com.google.calories.bmr.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.activity.read
字段(格式 - 单位)
平均(每天 float 千卡)
用户在一段时间内的平均 BMR。
最大值(每天 float 千卡)
用户在一段时间内的最大 BMR。
分钟(每天 float 千卡)
用户在一段时间内的最低 BMR。

Android

名称com.google.calories.bmr.summary
数据类型对象AGGREGATE_BASAL_METABOLIC_RATE_SUMMARY
字段(格式 - 单位)
FIELD_AVERAGEfloat - 千卡/天)
用户在一段时间内的平均 BMR。
FIELD_MAX(每天 float 千卡)
用户在一段时间内的最大 BMR。
FIELD_MINfloat - 千卡/天)
用户在一段时间内的最低 BMR。

消耗卡路里数摘要

在一段时间内消耗的卡路里总数(以千卡为单位)。此数据类型及其字段与即时数据类型相同。

心肺强化分数摘要

每个数据点都表示相应时间段内获得的心脏点数。

REST

名称com.google.heart_minutes.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.activity.read
字段(格式 - 单位)
强度float - 心肺强化分数)
相应时间段内获得的心肺强化分数,包括通过倍增器获得的分数(运动强度越大,获得的分数越多)。
时长float 分钟)
获得心肺强化分数的时间(以分钟为单位)。

Android

名称com.google.heart_minutes.summary
数据类型对象AGGREGATE_HEART_POINTS
字段(格式 - 单位)
FIELD_INTENSITYfloat - 心肺强化分数)
相应时间段内获得的心肺强化分数,包括通过倍增器获得的分数(运动强度越大,获得的分数越多)。
FIELD_DURATIONfloat 分钟)
获得心肺强化分数的时间(以分钟为单位)。

活动时间摘要

相应时间段内的运动分钟总数。此数据类型和字段与即时数据类型相同。

电源摘要

每个数据点表示用户在一段时间段内的平均功率、最大功率和最小功率(以瓦特为单位)。

REST

名称com.google.power.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.activity.read
字段(格式 - 单位)
平均float 瓦特)
相应时间段内用户的平均功率输出(以瓦为单位)。
最大float 瓦)
相应时间段内用户产生的最大功率(以瓦为单位)。
minfloat - 瓦特)
相应用户在相应时间段内产生的最低功率(以瓦为单位)。

Android

名称com.google.power.summary
数据类型对象AGGREGATE_POWER_SUMMARY
字段(格式 - 单位)
FIELD_AVERAGEfloat - 瓦特)
相应时间段内用户的平均功率输出(以瓦为单位)。
FIELD_MAXfloat - 瓦特)
相应时间段内用户产生的最大功率(以瓦为单位)。
FIELD_MINfloat - 瓦特)
相应用户在相应时间段内产生的最低功率(以瓦为单位)。

步数增量摘要

每个数据点表示相应时间段内的总步数。 此数据类型及其字段与即时数据类型相同。

正文

使用这些数据类型读取汇总的身体测量数据。

体脂率摘要

每个数据点表示用户在一段时间内的平均、最大和最小体脂百分比。

REST

名称com.google.body.fat.percentage.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.body.read
字段(格式 - 单位)
平均float 百分比)
用户在一段时间段内的平均体脂百分比(体脂占总体重的百分比)。
最大值float 百分比)
用户在一段时间段内的体脂占总体重的最大百分比。
最低float%)
用户在一段时间内的最低体脂百分比。

Android

名称com.google.body.fat.percentage.summary
数据类型对象AGGREGATE_BODY_FAT_PERCENTAGE_SUMMARY
字段(格式 - 单位)
FIELD_AVERAGEfloat 百分比)
用户在一段时间段内的平均体脂百分比(体脂占总体重的百分比)。
FIELD_MAXfloat - 百分比)
用户在一段时间段内的体脂占总体重的最大百分比。
FIELD_MINfloat 百分比)
用户在一段时间内的最低体脂百分比。

心率摘要

每个数据点表示相应时间段内用户的心率平均值、最大值和最小值(以每分钟心跳次数为单位)。

REST

名称com.google.heart_rate.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.body.read
字段(格式 - 单位)
平均float 次/分钟)
用户在一段时间内的平均心率(每分钟心跳次数)。
最大值float 次/分钟)
用户在一段时间内的最大心率(每分钟心跳次数)。
minfloat bpm)
用户在一段时间段内的最低心率(每分钟心跳次数)。

Android

名称com.google.heart_rate.summary
数据类型对象AGGREGATE_HEART_RATE_SUMMARY
字段(格式 - 单位)
FIELD_AVERAGEfloat - bpm)
用户在一段时间内的平均心率(每分钟心跳次数)。
FIELD_MAXfloat - bpm)
相应时间段内用户的最大心率(以每分钟心跳次数为单位)。
FIELD_MINfloat - bpm)
用户在一段时间段内的最低心率(每分钟心跳次数)。

身高摘要

每个数据点表示用户在一段时间内的平均海拔高度、最高海拔高度和最低海拔高度(以米为单位)。

REST

名称com.google.height.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.body.read
字段(格式 - 单位)
平均float 米)
用户在一段时间内的平均身高(以米为单位)。
最大float 米)
用户在一段时间内的最大海拔高度(以米为单位)。
minfloat 米)
用户在一段时间内的最低海拔高度(以米为单位)。

Android

名称com.google.height.summary
数据类型对象AGGREGATE_HEIGHT_SUMMARY
字段(格式 - 单位)
FIELD_AVERAGEfloat 米)
用户在一段时间内的平均身高(以米为单位)。
FIELD_MAXfloat 米)
用户在一段时间内的最大海拔高度(以米为单位)。
FIELD_MINfloat 米)
用户在一段时间内的最低海拔高度(以米为单位)。

体重摘要

每个数据点表示用户在一段时间段内的平均体重、最大体重和最小体重(以千克为单位)。

REST

名称com.google.weight.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.body.read
字段(格式 - 单位)
平均float 千克)
用户在一段时间内的平均体重(以公斤为单位)。
最大float 千克)
用户在一段时间内的最大体重(以千克为单位)。
最低float 千克)
用户在一段时间内的最低体重(以千克为单位)。

Android

名称com.google.weight.summary
数据类型对象AGGREGATE_WEIGHT_SUMMARY
字段(格式 - 单位)
FIELD_AVERAGEfloat - 千克)
用户在一段时间内的平均体重(以公斤为单位)。
FIELD_MAXfloat 千克)
用户在一段时间内的最大体重(以千克为单位)。
FIELD_MINfloat 千克)
用户在一段时间内的最低体重(以千克为单位)。

位置

使用这些数据类型读取汇总的位置数据。

距离增量

每个数据点表示用户在一段时间内的总行驶距离(以米为单位)。此数据类型及其字段与瞬时数据类型相同。

位置边界框

每个数据点都表示在一段时间内根据用户的位置点计算出的边界框。每个边界框都有四个字段,分别表示边界框的四个角。

REST

名称com.google.location.bounding_box
OAuth 权限范围
https://www.googleapis.com/auth/fitness.location.read
字段(格式 - 单位)
低纬度float 度)
边界框的最小纬度,以浮点数表示,单位为度。
低经度float 度)
边界框的最小经度,以浮点数表示,单位为度。
高纬度float 度)
边界框的最大纬度,以浮点数表示,单位为度。
高经度float 度)
边界框的最大经度,以浮点数表示,单位为度。

Android

名称com.google.location.bounding_box
数据类型对象AGGREGATE_LOCATION_BOUNDING_BOX
字段(格式 - 单位)
FIELD_LOW_LATITUDEfloat 度)
边界框左下角的纬度,以浮点数表示,单位为度。
FIELD_LOW_LONGITUDEfloat 度)
边界框左下角的经度,以浮点数表示,单位为度。
FIELD_HIGH_LATITUDEfloat 度)
边界框右上角的纬度,以浮点数表示,单位为度。
FIELD_HIGH_LONGITUDEfloat - 度)
边界框右上角的经度,以浮点数表示,单位为度。

速度摘要

每个数据点表示用户在一段时间内的平均速度、最大速度和最小速度(以米/秒为单位)。

REST

名称com.google.speed.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.location.read
字段(格式 - 单位)
平均值float - 米/秒)
用户在一段时间内的平均速度(以米/秒为单位)。
最大值float - 米/秒)
用户在一段时间内的最大速度,以米/秒为单位。
分钟float - 米/秒)
用户在一段时间内的最低速度(以米/秒为单位)。

Android

名称com.google.speed.summary
数据类型对象AGGREGATE_SPEED_SUMMARY
字段(格式 - 单位)
平均值float - 米/秒)
用户在一段时间内的平均速度(以米/秒为单位)。
最大值float - 米/秒)
用户在一段时间内的最大速度,以米/秒为单位。
分钟float - 米/秒)
用户在一段时间内的最低速度(以米/秒为单位)。

营养

使用这些数据类型读取汇总的营养数据。

饮水摘要

每个数据点表示用户在一段时间段内消耗的总水量(以升为单位)。此数据类型及其字段与瞬时数据类型相同。

营养摘要

每个数据点都表示某个时间段内所有营养条目的总和。在“营养”字段中,每个值表示相应营养素在相应时间段内所有条目的总和。

如果营养素未出现在任何条目中,则也不会出现在汇总映射中。如果时间段内的所有条目都属于同一餐,系统还会设置餐食类型。

REST

名称com.google.nutrition.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.nutrition.read
字段(格式 - 单位)
餐食类型int - 枚举)
用户所吃的餐食类型(如果时间段内的所有条目都属于同一餐食,则会显示此字段)。
营养成分Map<String> - 卡路里/克数)
在一段时间内所吃食物中的总营养素。

Android

名称com.google.nutrition.summary
数据类型对象AGGREGATE_NUTRITION_SUMMARY
字段(格式 - 单位)
FIELD_MEAL_TYPEint - 枚举)
用户所吃的餐食类型(如果时间段内的所有条目都对应于同一餐食,则会显示此字段)。
FIELD_NUTRIENTS(千卡/克/毫克) Map<String>
在一段时间内所吃食物中的总营养素。

健康

使用这些数据类型读取汇总的医疗健康数据。

血糖摘要

每个数据点表示相应时间范围内的平均、最低和最高血糖水平或浓度,以 mmol/L 为单位,其中 1 mmol/L 等于 18 mg/dL。

如果时间范围内所有衡量的值对于每个字段都相同,您会在返回的数据中看到相应字段值:

  • 与餐食的时间关系
  • 与睡眠的时间关系
  • 样本来源

如果值在不同衡量指标之间存在差异,则会排除相应字段。

REST

名称com.google.blood_glucose.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.blood_glucose.read
字段(格式 - 单位)
平均值float 毫摩尔/升)
用户在一段时间内的平均血糖水平或浓度。
最大值float 毫摩尔/升)
用户在一段时间内的最高血糖水平或浓度。
minfloat—mmol/L)
用户在一段时间内的最低血糖水平或浓度。
与餐食的时间关系int - 枚举)(可选字段)
血糖读数是在用户进食前还是进食后测量的。
餐点类型int - 枚举)(可选字段)
用户在测量血糖值前后所吃的餐食类型。
与睡眠的时间关系int - 枚举)(可选字段)
与用户睡眠时间相比,测量血压的时间。
specimen sourceint - 枚举)(可选字段)
用于测量血糖的体液类型。

Android

名称com.google.blood_glucose.summary
数据类型对象AGGREGATE_BLOOD_GLUCOSE_SUMMARY
字段(格式 - 单位)
FIELD_AVERAGEfloat 毫摩尔/升)
用户在一段时间内的平均血糖水平或浓度。
FIELD_MAXfloat 毫摩尔/升)
用户在一段时间内的最高血糖水平或浓度。
FIELD_MINfloat 毫摩尔/升)
用户在一段时间内的最低血糖水平或浓度。
FIELD_TEMPORAL_RELATION_TO_MEALint - 枚举)(可选字段)
血糖读数是在用户进食前还是进食后测量的。
FIELD_MEAL_TYPEint - 枚举)(可选字段)
用户在测量血糖值前后所吃的餐食类型。
FIELD_TEMPORAL_RELATION_TO_SLEEPint - 枚举)(可选字段)
与用户睡眠时间相比,测量血压的时间。
FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCEint - 枚举)(可选字段)
用于测量血糖的体液类型。

血压摘要

每个数据点表示相应时间范围内的平均血压、最低血压和最高血压,以 mmHg 为单位。

如果时间范围内所有衡量的值对于每个字段都相同,您会在返回的数据中看到相应字段值:

  • 身体姿势
  • 测量位置

如果值在不同衡量指标之间存在差异,则会排除相应字段。

REST

名称com.google.blood_pressure.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.blood_pressure.read
字段(格式 - 单位)
平均收缩压float-mmHg)
用户在一段时间内的平均收缩压。
收缩压最大值float - 毫米汞柱)
用户在一段时间内的最高收缩压。
最低收缩压float - mmHg)
用户在一段时间内的最低收缩压。
平均舒张压float—毫米汞柱)
用户在一段时间内的平均舒张压。
最大舒张压float - 毫米汞柱)
用户在一段时间内的最大舒张压。
最低舒张压float - 毫米汞柱)
用户在一段时间内的最低舒张压。
身体位置int - 枚举)(可选字段)
测量时的用户身体姿势。
测量位置int - 枚举)(可选字段)
测量时所用的手臂和手臂部位。

Android

名称com.google.blood_pressure.summary
数据类型对象AGGREGATE_BLOOD_PRESSURE_SUMMARY
字段(格式 - 单位)
FIELD_BLOOD_PRESSURE_SYSTOLIC_AVERAGEfloat - mmHg)
用户在一段时间内的平均收缩压。
FIELD_BLOOD_PRESSURE_SYSTOLIC_MAXfloat—mmHg)
用户在一段时间内的最高收缩压。
FIELD_BLOOD_PRESSURE_SYSTOLIC_MINfloat - mmHg)
用户在一段时间内的最低收缩压。
FIELD_BLOOD_PRESSURE_DIASTOLIC_AVERAGEfloat - mmHg)
用户在一段时间内的平均舒张压。
FIELD_BLOOD_PRESSURE_DIASTOLIC_MAXfloat - mmHg)
用户在一段时间内的最大舒张压。
FIELD_BLOOD_PRESSURE_DIASTOLIC_MINfloat - 毫米汞柱)
用户在一段时间内的最低舒张压。
FIELD_BODY_POSITIONint - 枚举)(可选字段)
测量时的用户身体姿势。
FIELD_BLOOD_PRESSURE_MEASUREMENT_LOCATIONint - 枚举)(可选字段)
测量时所用的手臂和手臂部位。

体温摘要

每个数据点都表示用户在某个时间范围内的平均体温、最低体温和最高体温。

如果时间间隔内所有数据点的测量位置都相同,则该数据点还会包含测量位置。

REST

名称com.google.body.temperature.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.body_temperature.read
字段(格式 - 单位)
平均值float - 摄氏度)
用户在一段时间内的平均体温。
最大值float - 摄氏度)
用户在一段时间内的最高体温。
minfloat - 摄氏度)
用户在一段时间内的最低体温。
测量位置int - 枚举)(可选字段)
用户身体的哪个部位用于测量体温。

Android

名称com.google.body.temperature.summary
数据类型对象AGGREGATE_BODY_TEMPERATURE_SUMMARY
字段(格式 - 单位)
FIELD_AVERAGE (float - 摄氏度)
用户在一段时间内的平均体温。
FIELD_MAXfloat - 摄氏度)
用户在一段时间内的最高体温。
FIELD_MINfloat - 摄氏度)
用户在一段时间内的最低体温。
FIELD_BODY_TEMPERATURE_MEASUREMENT_LOCATIONint - 枚举)(可选字段)
用户身体的哪个部位用于测量体温。

血氧饱和度摘要

每个数据点都表示用户在某个时间间隔内的平均血氧饱和度、最低血氧饱和度、最高血氧饱和度以及补充供氧流速。

如果时间范围内所有衡量的值对于每个字段都相同,您会在返回的数据中看到相应字段值:

  • 氧气疗法给氧模式
  • 血氧饱和度系统
  • 血氧饱和度测量方法

如果值在不同衡量指标之间存在差异,则会排除相应字段。

REST

名称com.google.oxygen_saturation.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.oxygen_saturation.read
字段(格式 - 单位)
平均血氧饱和度float - 百分比)
用户在一段时间内的平均血氧饱和度。
最大血氧饱和度float - 百分比)
用户在一段时间内的最大血氧饱和度。
最低血氧饱和度float - 百分比)
用户在一段时间内的最低血氧饱和度。
平均吸氧流量float—升/分钟)
用户在一段时间内的平均补充氧气流量。
最大辅助供氧流量float - 升/分钟)
用户在一段时间内的最大辅助供氧流量。
分钟补充氧气流速float - 升/分钟)
用户在一段时间内的最低补充氧气流速。
氧气疗法管理模式int - 枚举)(可选字段)
氧气疗法的给氧方式。
如果通过鼻导管给药,则可以缺省或为 1
血氧饱和度系统int - 枚举)(可选字段)
测量血氧饱和度的位置。
如果是在外周毛细血管中测量,则可以缺省或为 1
血氧饱和度测量方法int - 枚举)(可选字段)
血氧饱和度的测量方式。
如果通过脉搏血氧测定法测量,则可以缺省或为 1

Android

名称com.google.oxygen_saturation.summary
数据类型对象AGGREGATE_OXYGEN_SATURATION_SUMMARY
字段(格式 - 单位)
FIELD_OXYGEN_SATURATION_AVERAGEfloat - 百分比)
用户在一段时间内的平均血氧饱和度。
FIELD_OXYGEN_SATURATION_MAXfloat - 百分比)
用户在一段时间内的最大血氧饱和度。
FIELD_OXYGEN_SATURATION_MINfloat - 百分比)
用户在一段时间内的最低血氧饱和度。
FIELD_SUPPLEMENTAL_OXYGEN_FLOW_RATE_AVERAGEfloat - 升/分钟)
用户在一段时间内的平均补充氧气流量。
FIELD_SUPPLEMENTAL_OXYGEN_FLOW_RATE_MAXfloat - 升/分钟)
用户在一段时间内的最大辅助供氧流量。
FIELD_SUPPLEMENTAL_OXYGEN_FLOW_RATE_MINfloat - 升/分钟)
用户在一段时间内的最低补充氧气流速。
FIELD_OXYGEN_THERAPY_ADMINISTRATION_MODEint - 枚举)(可选字段)
氧气疗法的给氧方式。
如果通过鼻导管给药,则可以缺省或为 1
FIELD_OXYGEN_SATURATION_SYSTEMint - 枚举)(可选字段)
测量血氧饱和度的位置。
如果是在外周毛细血管中测量,则可以缺省或为 1
FIELD_OXYGEN_SATURATION_MEASUREMENT_METHODint - 枚举)(可选字段)
血氧饱和度的测量方式。
如果通过脉搏血氧测定法测量,则可以缺省或为 1