同步多运动数据
运动记录数据
iOS :IDOSyncDataType.activity
Android : IDOSyncDataType.ACTIVITY
用户主动发起指定运动产生的数据
App收到的json字段:
| 字段名 | 字段类型 | 字段说明 |
|---|---|---|
| version | int | 协议版本号 该条报文的版本号默认0 setSupportSportPlan功能表开启version=16,syncRealTimeV3功能表开启version=32 |
| data_length | int | 数据长度 固件开启功能表 setSupportSportPlan(version=16) 或syncRealTimeV3(version=32) 的情况下该值为0 |
| packet_count | int | 包个数 固件开启功能表 setSupportSportPlan(version=16) 或syncRealTimeV3(version=32) 的情况下该值为0 |
| year | int | 数据日期 年 |
| month | int | 数据日期 月 |
| day | int | 数据日期 日 |
| hour | int | 数据日期 时 |
| minute | int | 数据日期 分 |
| second | int | 数据日期 秒 |
| type | int | 运动枚举 |
| connect_app | int | 手环是否连接app,用app评产生何种报告 1是连接,0是未连接 |
| sport_start_type | int | 0:无效, 1 : app发起的运动, 2:手表发起的运动 |
| hr_data_interval_minute | int | 心率数据间隔 单位:秒 |
| step | int | 步数 |
| durations | int | 运动时长 单位:秒 结束时间说明: 功能表 syncHealthSyncV3ActivityEndTimeUseUtcMode没有开启的情况下, 运动结束时间=开始时间+运动时长 功能表 syncHealthSyncV3ActivityEndTimeUseUtcMode开启后,运动结束时间通过字段 end_month & end_day &end_hour& end_minute & end_year & end_sec |
| calories | int | 卡路里 单位:千卡 |
| distance | int | 距离 单位:米 |
| avg_hr_value | int | 平均心率值 单位:BPM |
| max_hr_value | int | 最大心率值 单位:BPM |
| min_hr_value | Int | 最小心率值setSupportSportPlan or getOxygenDataSupportGradeV3功能表未开启的时候返回0 |
| avg_step_frequency | int | 平均步频 单位:步/分钟 |
| max_step_frequency | int | 最大步频 单位:步/分钟 |
| avg_step_stride | int | 平均步幅 单位:厘米 |
| max_step_stride | int | 最大步幅 单位:厘米 |
| avg_speed | int | 平均速度 km/h 固件是 扩大100倍 |
| max_speed | int | 最快速度 km/h 固件是 扩大100倍 |
| avg_pace_speed | int | 平均配速 传过来的是秒钟 比如361 361/60=6分 余数是1s 6''1' , 公里和英里是按照 英里= 公里*1609/1000f setSupportSportPlan or getOxygenDataSupportGradeV3功能表未开启的时候返回0 |
| max_pace_speed | int | 最快配速setSupportSportPlan or getOxygenDataSupportGradeV3功能表未开启的时候返回0 |
| avg_km_speed | int | 平均公里配速 传过来的是秒钟 比如361 361/60=6分 余数是1s 6''1' , 公里和英里是按照 英里= 公里*1609/1000f |
| max_km_speed | int | 最快公里配速 每公里需要的时间(秒) |
| warm_up_mins | int | 热身运动的累计时长 分钟部分 |
| fat_burning_mins | int | 脂肪燃烧的累计时长 分钟部分 |
| aerobic_exercise_mins | int | 有氧运动的累计时长 分钟部分 |
| anaerobic_exercise_mins | int | 无氧运动的累计时长 分钟部分 |
| extreme_exercise_mins | int | 极限锻炼的累计时长 分钟部分 |
| warm_up_sec | int | 热身运动的累计时长 秒钟部分 |
| fat_burning_sec | int | 脂肪燃烧的累计时长 秒钟部分 |
| aerobic_exercise_sec | int | 有氧运动的累计时长 秒钟部分 |
| anaerobic_exercise_sec | int | 无氧运动的累计时长 秒钟部分 |
| extreme_exercise_sec | Int | 极限锻炼的累计时长 秒钟部分 |
| vo2max | Int | 最大摄氧量 单位:毫升/公斤/分钟 范围 0-80 不放大100倍 (该字段在前) |
| grade | Int | 摄氧量等级 1:低等 2:业余 3:一般 4:平均 5:良好 6:优秀 7:专业 setSupportSportPlan or getOxygenDataSupportGradeV3固件开启则有效否则为0,为0则不支持摄氧量等级 |
| recovery_time_year | int | 恢复时间点年setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 |
| recovery_time_mon | int | 恢复时间点月setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 |
| recovery_time_day | int | 恢复时间点日setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 |
| recovery_time_hour | int | 恢复时间点时setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 |
| recovery_time_min | int | 恢复时间点分setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 |
| recovery_time_s | int | 恢复时间点秒setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 |
| training_effect | int | 有氧训练效果 单位:无 范围: 1.0 - 5.0 (扩大10倍传输)setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 |
| anaerobic_train_effect | int | 无氧训练效果 单:无 范围:1.0 - 5.0(扩大10倍传输) 0无效 |
| mi_speed_count | int | 英里配速个数 |
| hr_item_count | int | 心率个数 |
| activity_data_item_count | int | 洪堡定制数据字段详情个数,一分钟存一个 |
| km_speed_count | int | 公里配速的个数 最大100 |
| mi_speed_count | int | 英里配速个数 |
| pace_count | int | 实时配速个数setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 |
| frequency_count | int | 步频个数 |
| paddle_number_count | int | 桨次个数 setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 |
| paddle_frequency_count | int | 桨频个数 setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 |
| tread_frequency_count | int | 踏频个数 V3_sync_v3_activity_add_param或v3_support_activity_sync_real_time 功能表未开启的时候返回0 |
| real_speed_count | int | 实时速度个数syncRealTimeV3功能表未开启的时候返回0 |
| end_month | int | 运动结束时间 月 考虑到运动后用户暂停运动,导致运动结束后运动结束时间与 app的运动结束时间有差异, 此时的运动结束时间由固件返回,不支持该协议的返回0即可 app判断月份是否为0判断是否采用以下字段作为运动结束时间 setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 syncHealthSyncV3ActivityEndTimeUseUtcMode功能表开启有效 |
| end_day | int | 运动结束时间 日 setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 syncHealthSyncV3ActivityEndTimeUseUtcMode功能表开启有效 |
| end_hour | int | 运动结束时间 时 setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 syncHealthSyncV3ActivityEndTimeUseUtcMode功能表开启有效 |
| end_minute | int | 运动结束时间 分 V3_sync_v3_activity_add_param 或v3_support_activity_sync_real_time 功能表未开启的时候返回0 syncHealthSyncV3ActivityEndTimeUseUtcMode功能表开启有效 |
| end_year | int | 结束时间 年syncHealthSyncV3ActivityEndTimeUseUtcMode功能表开启有效 |
| end_sec | int | 结束时间 秒syncHealthSyncV3ActivityEndTimeUseUtcMode功能表开启有效 |
| training_offset | int | 训练的课程日期偏移 从零开始setSupportSportPlan功能表未开启的时候返回0 |
| act_type | int | 计划类型: 1:跑步计划3km 2:跑步计划5km 3:跑步计划10km 4:半程马拉松训练(二期) 5:马拉松训练(二期) 64:6分钟轻松跑 65:10分钟轻松跑 66:15分钟轻松跑 67:走跑结合初级 68:走跑结合进阶 69:走跑结合强化 70:跑后拉伸 setSupportSportPlan功能表未开启的时候返回0 |
| in_class_calories | int | 课程内运动热量 单位千卡 |
| completion_rate | int | 动作完成率 0—100 |
| hr_completion_rate | int | 心率控制率 0—100 |
| smart_competitor | int | 0:无效 1:非智能陪跑运动 2:智能陪跑运动 功能表 supportSmartCompetitor开启有效 |
| ai_image_id | int | ai形象ID 功能表 supportSmartCompetitor开启有效 |
| user_image_id | int | 用户形象ID 功能表 supportSmartCompetitor开启有效 |
| bg_image_id | int | 背景形象ID 功能表 supportSmartCompetitor开启有效 |
| smart_competitor_pace | int | 智能陪跑对手配速 功能表 supportSmartCompetitor开启有效 |
| max_rope_frequency | int | 最快跳绳频率 单位个/分钟 |
| min_rope_frequency | int | 最慢跳绳频率 单位个/分钟 |
| avg_rope_frequency | int | 平均跳绳频率 单位个/分钟 |
| max_rope_skip_count | int | 最多跳绳连跳次数 |
| rope_trip_count | int | 绊绳次数 |
| total_rope_count | int | 总跳绳次数 |
| rope_frequency_item_count | int | 跳绳频率(跳速)详情 单位个/分钟 |
| max_tread_frequency | int | 最快踏频 |
| min_tread_frequency | int | 最慢踏频 |
| avg_tread_frequency | int | 平均踏频 |
| total_paddle_number | int | 总桨次 |
| max_paddle_frequency | int | 最快桨频 |
| min_paddle_frequency | int | 最慢桨频 |
| avg_paddle_frequency | int | 平均桨频 |
| warm_up_performance | int | 热身表现 0-100 setSupportSportPlan and supportWarmUpBeforeRunning开启有效 |
| gps_status | int | GPS状态 0:无效 1:开启 2:未开启 (未开启时展示 距离 开启则展示3D距离)setSupportSportPlan& version=0x30时有效 |
| distance3d | int | 3d距离 单位米supportSyncActivityData3dDistanceSpeed,setSupportSportPlan& version=0x30时有效 |
| avg_3d_speed | int | 平均3d速度 单位km/h app收到需要/100 扩大100倍传 supportSyncActivityData3dDistanceSpeed,setSupportSportPlan& version=0x30时有效 |
| avg_vertical_speed | int | 平均垂直速度 单位m/h app收到需要/10 扩大10倍传 supportSyncActivityDataAvgSlope,setSupportSportPlan& version=0x30时有效 |
| avg_slope | int | 平均坡度 单位度 -90 ~ 90 supportSyncActivityDataAvgSlope,setSupportSportPlan& version=0x30时有效 |
| max_altitude | int | 最高海拔高度 单位米 -500 ~ 9000 getSupportSyncActivityDataAltitudeInfo,setSupportSportPlan& version=0x30时有效 |
| mix_altitude | int | 最低海拔高度 单位米 -500 ~ 9000 getSupportSyncActivityDataAltitudeInfo,setSupportSportPlan& version=0x30时有效 |
| cumulative_altitude_rise | int | 累计海拔上升 单位米getSupportSyncActivityDataAltitudeInfo,setSupportSportPlan& version=0x30时有效 |
| cumulative_altitude_loss | int | 累计海拔下降 单位米getSupportSyncActivityDataAltitudeInfo,setSupportSportPlan& version=0x30时有效 |
| altitude_count | int | 海拔高度详情个数getSupportSyncActivityDataAltitudeInfo,setSupportSportPlan& version=0x30时有效 |
| avg_altitude | int | 平均海拔高度 单位米 -500 ~ 9000 getSupportSyncActivityDataAltitudeInfo,setSupportSportPlan& version=0x30时有效 |
| act_count | int | 动作详情个数 |
| sport_mode_data_type | int | 运动模式数据类型,0:无效,1:自动运动模式数据,2:手动运动模式数据 |
| segdata_item_num | int | 分段数据seg_items个数version!=0x50无效 |
| segdata_total_time | int | 分段数据总用时 单位秒 version!=0x50无效 |
| segdata_total_distance | int | 分段数据总距离 单位米 version!=0x50无效 |
| segdata_total_pace | int | 分段数据总配速 单位秒/百米 version!=0x50无效 |
| segdata_total_avg_hr | int | 分段数据总平均心率 单位次/分 version!=0x50无效 |
| segdata_total_avg_step_frequency | int | 分段数据总步频 单位步/分 version!=0x50无效 |
| pace_hiit | int | 区间配速 高强度间歇配速 单位秒 |
| pace_anaerobic | int | 区间配速 无氧配速 单位秒 |
| pace_lactic_acid_threshold | int | 区间配速 乳酸阈配速 单位秒 |
| pace_marathon | int | 区间配速 马拉松配速 单位秒 |
| pace_easy_run | int | 区间配速 轻松跑配速 单位秒 |
| hr_data_vlaue | int [] | 心率数据详情 |
| frequency_items | int [] | 步频数据详情 |
| items_mi_speed | int [] | 英里配速详情 |
| pace_speed_items | int [] | 实时配速详情setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 |
| paddle_number_items | int [] | 桨次详情setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 |
| paddle_frequency_items | int [] | 桨频详情setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 |
| tread_frequency_items | int [] | 踏频详情setSyncV3ActivityAddParam or syncRealTimeV3 功能表未开启的时候返回0 |
| act_items | int [] | 动作详情setSupportSportPlan功能表未开启的时候返回0 |
| item_real_speed_temp | int [] | 实时速度详情setSupportSportPlan功能表开启时返回0syncRealTimeV3功能表未开启的时候返回0 |
| altitude_item | int [] | 海拔高度数据 单位米 范围-500~9000getSupportSyncActivityDataAltitudeInfo&setSupportSportPlan& version=0x30时有效 |
| items | 集合 | 洪堡定制字段数据详情,steps & calories & distance的集合 |
| items_km_speed | 集合 | 公里配速数据详情,second的集合 |
| seg_items | 集合 | 分段数据详情,index&time&distance&pace&avg_hr&avg_step_frequency的集合 |
| rope_frequency_item | int[] | 跳绳频率(跳速)详情 |
| real_pace_save_interval | int | 实时配速保存时间间隔,单位秒 |
| interval_item | 集合 | 间歇训练数组,stage_type & repeat_num & stage_data_type_item的集合 |
| stride_items | int[] | 实时步幅数组 5s一组值 单位cm 最大保存10h |
| lap_item | 集合 | 圈数据详情 最多999圈lap_data_num & lap_data_item的集合 |
| aerobic_power_interval | long | 有氧功率区间秒数 |
| mixed_oxygen_power_interval | long | 混氧功率区间秒数 |
| threshold_running_power_interval | long | 阈值跑功率区间秒数 |
| intermittent_run_power_interval | long | 间歇跑功率区间秒数 |
| sprint_run_power_interval | long | 冲刺跑功率区间秒数 |
| recovery_hr_items_60 | 集合 | 运动后恢复心率2分钟,1s一个值,最多120个,data_type & recovery_hr_data的集合 |
| hr_zone_max_val | Int | 最大心率值(部分设备支持) |
| 字段名 | 字段类型 | 字段说明 |
|---|---|---|
| steps | int | 步频 |
| calories | int | 卡路里 |
| distance | int | 距离 单位:米 |
| 字段名 | 字段类型 | 字段说明 |
|---|---|---|
| second | int | 公里配速 单位:秒 |
| 字段名 | 字段类型 | 字段说明 |
|---|---|---|
| index | int | 分段序号 从1开始 |
| time | int | 用时 单位秒 |
| distance | int | 距离 单位米 |
| pace | int | 配速 单位秒 |
| avg_hr | int | 平均心率 单位次/分 |
| avg_step_frequency | int | 平均步频 单位步/分 |
| 字段名 | 字段类型 | 字段说明 |
|---|---|---|
| stage_type | int | 当前训练步骤类型 |
| repeat_num | int | 当前重复次数 |
| stage_data_type_item | 集合 | 当前训练步骤的训练数据,stage_support_type & stage_data_value的集合 |
| 字段名 | 字段类型 | 字段说明 |
|---|---|---|
| stage_support_type | int | 当前训练步骤的训练数据类型 |
| stage_data_value | int | 时间值单位s,距离单位m, 卡路里单位大卡, 配速单位s/km, 速度单位km/h乘以100倍 |
| stage_type | value |
|---|---|
| 无(无效) | 0x00 |
| 热身 | 0x01 |
| 训练 | 0x02 |
| 休息 | 0x03 |
| 放松 | 0x04 |
| stage_support_type | value |
|---|---|
| 无(无效) | 0x00 |
| 持续时间 | 0x01 |
| 平均心率 | 0x02 |
| 距离 | 0x03 |
| 卡路里 | 0x04 |
| 平均配速 | 0x05 |
| 平均速度 | 0x06 |
| 字段名 | 字段类型 | 字段说明 |
|---|---|---|
| lap_data_num | int | 圈数据个数 |
| lap_data_item | 集合 | 圈数据列表,最多20个lap_data_type & lap_data_val的集合 |
| 字段名 | 字段类型 | 字段说明 |
|---|---|---|
| lap_data_type | int | 圈数据类型,见圈数据支持的数据类型 |
| lap_data_val | int | 圈数据值 |
| 圈数据支持的数据类型 | 索引值 |
|---|---|
| 无(无效) | 0x00 |
| 单圈距离(单位:米) | 0x01 |
| 单圈时长(单位:秒) | 0x02 |
| 单圈配速(单位:s/km) | 0x03 |
| 单圈速度(单位:km/h, 扩大100倍) | 0x04 |
| 单圈步频(单位:步/分) | 0x05 |
| 单圈心率 | 0x06 |
| 单圈海拔上升高度,无效值为0x7FFF(单位:米) | 0x07 |
| 单圈海拔下降高度,无效值为0x7FFF(单位:米) | 0x08 |
| 单圈步幅(单位:厘米) | 0x09 |
| 单圈卡路里(单位:大卡) | 0x0A |
| 单圈最大心率 | 0x0B |
| 单圈开始坐标经度,扩大10,000,000倍 | 0x0C |
| 单圈开始坐标纬度,扩大10,000,000倍 | 0x0D |
| 单圈结束坐标经度,扩大10,000,000倍 | 0x0E |
| 单圈结束坐标纬度,扩大10,000,000倍 | 0x0F |
| 单圈开始时间戳,本地时间 | 0x10 |
| 字段名 | 字段类型 | 字段说明 |
|---|---|---|
| data_type | int | 恢复心率类型 静止:0x01 运动:0x02 |
| recovery_hr_data | int | 恢复心率数值 |
示例:
{
"act_type" : 0,
"action_temp" : null,
"activity_data_item_count" : 0,
"aerobic_exercise_mins" : 0,
"aerobic_exercise_sec" : 0,
"anaerobic_exercise_mins" : 0,
"anaerobic_exercise_sec" : 0,
"avg_hr_value" : 0,
"avg_km_speed" : 0,
"avg_pace_speed" : 0,
"avg_speed" : 0,
"avg_step_frequency" : 0,
"avg_step_stride" : 0,
"calories" : 0,
"completion_rate" : 0,
"connect_app" : 0,
"data_length" : 0,
"day" : 0,
"distance" : 0,
"durations" : 0,
"end_day" : 0,
"end_hour" : 0,
"end_minute" : 0,
"end_month" : 0,
"extreme_exercise_mins" : 0,
"extreme_exercise_sec" : 0,
"fat_burning_mins" : 0,
"fat_burning_sec" : 0,
"frequency_count" : 0,
"frequency_items" : null,
"grade" : 0,
"hour" : 0,
"hr_completion_rate" : 0,
"hr_data_interval_minute" : 0,
"hr_data_vlaue" : null,
"hr_item_count" : 0,
"in_class_calories" : 0,
"item_real_speed_temp" : null,
"items" : null,
"items_km_speed" : null,
"items_mi_speed" : null,
"km_speed_count" : 0,
"max_hr_value" : 0,
"max_km_speed" : 0,
"max_pace_speed" : 0,
"max_speed" : 0,
"max_step_frequency" : 0,
"max_step_stride" : 0,
"mi_speed_count" : 0,
"min_hr_value" : 0,
"minute" : 0,
"month" : 0,
"pace_count" : 0,
"pace_speed_items" : null,
"packet_count" : 0,
"paddle_frequency_count" : 0,
"paddle_frequency_items" : null,
"paddle_number_count" : 0,
"paddle_number_items" : null,
"real_speed_count" : 0,
"recovery_time_day" : 0,
"recovery_time_hour" : 0,
"recovery_time_min" : 0,
"recovery_time_mon" : 0,
"recovery_time_s" : 0,
"recovery_time_year" : 0,
"second" : 0,
"sport_start_type" : 0,
"step" : 0,
"training_effect" : 0,
"training_offset" : 0,
"tread_frequency_count" : 0,
"tread_frequency_items" : null,
"type" : 0,
"vO2max" : 0,
"version" : 0,
"warm_up_mins" : 0,
"warm_up_sec" : 0,
"year" : 0,
"interval_item":null,
"stride_items":[],
"lap_item":[],
"recovery_hr_items_60":[]
}