汇总数据类型

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

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

时间段
按每小时或每天对汇总数据进行分桶。例如,查看每日行走步数或消耗的卡路里数。
活动类型
按活动类型对汇总数据进行分桶。例如,对于一周的睡眠数据,每种睡眠活动类型(浅睡眠、深睡眠和 REM 睡眠)都会有一个对应的分桶。
活动时段
按活动细分对一段时间内的汇总数据进行分桶。例如,如果用户在上午 9 点到上午 10 点间跑步,但在前 20 分钟内跑步,然后坐了 10 分钟,步行了 15 分钟,跑步了 15 分钟,那么这些活动可视为 4 个活动片段,并将返回 4 个分桶。
会话
使用会话的时间范围来汇总数据。例如,如果用户进行了 2 次跑步,这些记录为 2 次会话(上午跑步和下午跑步),那么您可以按会话分组,以了解每次跑步的平均步数或平均速度。

Activity

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

运动里程摘要

特定活动在一段时间内的总时长和总细分数量。 每个数据点都表示一段时间内特定活动类型的所有活动细分摘要。

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) 摘要

每个数据点代表相应时间范围内用户的平均、最高和最低基础代谢率,以千卡路里/天为单位。如果用户增重或减重,因此其 BMR 发生变化,这种做法非常有用。

REST

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

Android

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

消耗卡路里数摘要

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

心肺强化分数摘要

每个数据点代表一段时间内获得的心肺强化分数。

REST

名称com.google.heart_minutes.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.activity.read
字段(格式 - 单位)
intenityfloat - 心肺强化分数)
一段时间内获得的心肺强化分数,包括通过乘数获得的分数(进行更剧烈运动可获得更多分数)。
durationfloat - 分钟)
获得心肺强化分数的时间(以分钟为单位)。

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
字段(格式 - 单位)
averagefloat - 瓦特)
用户在一段时间内产生的平均功率(以瓦特为单位)。
maxfloat - 瓦特)
用户在一段时间内的最大发电量(以瓦特为单位)。
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 - 百分比)
在一段时间内,用户的总体重(即体脂)的最大百分比。
minfloat - 百分比)
在一段时间内,用户的最小体脂百分比(即体脂)。

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
字段(格式 - 单位)
averagefloat-bpm)
用户在一段时间内的平均心率(每分钟心跳次数)。
最高 (float-bpm)
在一段时间内的用户最大心率(每分钟心跳次数)。
minfloat - bpm)
一段时间内用户的最低心率(每分钟心跳次数)。

Android

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

身高摘要

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

REST

名称com.google.height.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.body.read
字段(格式 - 单位)
averagefloat 米)
用户在一段时间内的平均身高(以米为单位)。
最大值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 - 千克)
用户在一段时间内的最大体重,以公斤为单位。
minfloat - kg)
用户在一段时间内的最低体重,以公斤为单位。

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
字段(格式 - 单位)
averagefloat 米/秒)
用户在一段时间内的平均速度(米/秒)。
最大值float - 米/秒)
用户在一段时间内的最大速度(以米/秒为单位)。
minfloat - 米/秒)
用户在某段时间内的最低速度(以米/秒为单位)。

Android

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

营养

使用以下数据类型读取汇总的营养数据。

饮水情况摘要

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

营养摘要

每个数据点表示一段时间内所有营养条目的总和。 在营养成分字段中,每个值表示该时间段内所有条目的营养总和。

如果营养素不在任何条目中,那么它也不会出现在汇总映射中。如果相应时间段内的所有条目都代表同一餐食,系统还将设置餐食类型。

REST

名称com.google.nutrition.summary
OAuth 权限范围
https://www.googleapis.com/auth/fitness.nutrition.read
字段(格式 - 单位)
meal typeint - 枚举)
用户吃了哪类膳食(如果相应时间段内的所有条目都代表同一餐点,则此对象会显示)。
nutrientsMap<String> - 卡路里/克)
一段时间内所摄取的食物的营养总量。

Android

名称com.google.nutrition.summary
数据类型对象AGGREGATE_NUTRITION_SUMMARY
字段(格式 - 单位)
FIELD_MEAL_TYPEint - 枚举)
用户吃了哪类膳食(如果相应时间段内的所有条目都代表同一餐点,则此对象会显示)。
FIELD_NUTRIENTSMap<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-mmol/L)
用户在一段时间内的最高血糖水平或浓度。
minfloat - 毫摩尔/升)
一段时间内用户的最低血糖水平或浓度。
与餐食的时间关系int - 枚举)(可选字段)
读取数据的时间与用户用餐时间的比较。
meal typeint - 枚举)(可选字段)
获取读数时,用户吃了什么类型的餐点。
与休眠的时间关系int - 枚举)(可选字段)
获取读数的时间与用户睡觉的时间的对比情况。
样本来源int - 枚举)(可选字段)
用于测量血糖的体液类型。

Android

名称com.google.blood_glucose.summary
数据类型对象AGGREGATE_BLOOD_GLUCOSE_SUMMARY
字段(格式 - 单位)
FIELD_AVERAGE (float-mmol/L)
用户在一段时间内的平均血糖水平或浓度。
FIELD_MAX (float—mmol/L)
用户在一段时间内的最高血糖水平或浓度。
FIELD_MIN (float—mmol/L)
一段时间内用户的最低血糖水平或浓度。
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—mmHg)
用户在一段时间内的最高收缩压。
最低收缩压 (float—mmHg)
用户在一段时间内的最低收缩压。
平均舒张压 (float—mmHg)
用户在一段时间内的平均舒张压。
最大舒张压 (float—mmHg)
用户在一段时间内的最大舒张压。
最低舒张压 (float—mmHg)
一段时间内用户的最低舒张压。
正文位置int - 枚举)(可选字段)
测量时用户的身体位置。
测量位置(int - 枚举)(可选字段)
测量的是哪一部分、哪一部分。

Android

名称com.google.blood_pressure.summary
数据类型对象AGGREGATE_BLOOD_PRESSURE_SUMMARY
字段(格式 - 单位)
FIELD_BLOOD_PRESSURE_SYSTOLIC_AVERAGE (float—mmHg)
用户在一段时间内的平均收缩压。
FIELD_BLOOD_PRESSURE_SYSTOLIC_MAX (float—mmHg)
用户在一段时间内的最高收缩压。
FIELD_BLOOD_PRESSURE_SYSTOLIC_MIN (float—mmHg)
用户在一段时间内的最低收缩压。
FIELD_BLOOD_PRESSURE_DIASTOLIC_AVERAGE (float—mmHg)
用户在一段时间内的平均舒张压。
FIELD_BLOOD_PRESSURE_DIASTOLIC_MAX (float—mmHg)
用户在一段时间内的最大舒张压。
FIELD_BLOOD_PRESSURE_DIASTOLIC_MIN (float—mmHg)
一段时间内用户的最低舒张压。
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_AVERAGEfloat 摄氏度)
用户在一段时间内的平均体温。
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—L/min)
用户在一段时间内的平均补充氧气流速。
最大补充供氧流速 (float—L/min)
用户在一段时间内的最大辅助氧气流速。
最低补充供氧流速 (float—L/min)
用户在一段时间内的最低辅助氧气流速。
氧疗给药模式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-L/分钟)
用户在一段时间内的平均补充氧气流速。
FIELD_SUPPLEMENTAL_OXYGEN_FLOW_RATE_MAXfloat-L/分钟)
用户在一段时间内的最大辅助氧气流速。
FIELD_SUPPLEMENTAL_OXYGEN_FLOW_RATE_MINfloat-L/分钟)
用户在一段时间内的最低辅助氧气流速。
FIELD_OXYGEN_THERAPY_ADMINISTRATION_MODEint - 枚举)(可选字段)
如何进行氧气治疗。
可能不存在;如果使用鼻导管,则为 1
FIELD_OXYGEN_SATURATION_SYSTEMint - 枚举)(可选字段)
测量血氧饱和度时。
如果是在外周毛细血管测量,则可能不存在或 1
FIELD_OXYGEN_SATURATION_MEASUREMENT_METHODint - 枚举)(可选字段)
如何测量血氧饱和度。
如果通过脉搏血氧测量法测量,则可能不存在或 1