【HMS Core】Health Kit关于订阅消息的资讯

发布时间 2023-04-10 17:20:46作者: 华为开发者论坛

【问题描述】

1.数据跨N天同步,怎么去区分每一天的数据,开始时间和结束时间可以区分吗。会出现一天时间内有多段数据的情况出现吗

2.华为健康APP自动同步的频率是多少,凌晨0点0分会把前一天的数据上云吗

3.假设我可以在APP自动同步的瞬间点击同步,会不会出现数据重复问题

4.针对运动数据,步数,距离,卡路里在同步的时候,时间段是否是相同的,比如我戴手表从10点到11点通过行走产生运动数据后,订阅这三种数据推送的开始时间和结束时间是否是一致的

 

【解决方案】

问题一:数据跨N天同步,怎么去区分每一天的数据,开始时间和结束时间可以区分吗。会出现一天时间内有多段数据的情况出现吗?

可以用每天的开始时间和结束时间来区分,且同一个数据类型,同一天内不会出现多段。

获取运动健康App中的步数、卡路里等统计数据,可以调用多日统计查询接口,此接口返回的统计数据是运动健康App中显示的统计数据。

cke_1024.png

步数数据开放类型:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/steps-0000001177343435#section33651944125216

采样数据多日统计查询(以下简称多日统计接口):

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/sampleset_daily_polymerize-0000001078113560

多日统计接口请求体传入的是以天为单位的日期:

cke_2221.png

查询返回的结果是一个集合,多日统计的结果也是以天为单位,返回查询的每天的数据:

cke_3274.png

您可以通过Postman等工具,请求接口进行查看,以查询步数为例:

cke_4666.png

接口URL:

POST:https://health-api.cloud.huawei.com/healthkit/v1/sampleSet:dailyPolymerize

请求体:

{
    "dataTypes": [
        "com.huawei.continuous.steps.delta"
    ],
    "startDay": "20230314",
    "endDay": "20230321",
    "timeZone": "+0800"
}

---------------

问题二:华为健康APP自动同步的频率是多少,凌晨0点0分会把前一天的数据上云吗?

1、每个数据类型的自动同步频率可能不一样,具体可以参考一下数据开放说明的查询及时性。

自动同步需要保证华为运动健康App在后台运行。

cke_6414.png

步数原子采样统计数据类型的数据开放说明:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/steps-0000001177343435#section33651944125216

2、数据能否上云也取决于用户是否将运动健康App进行保活,如果后台被杀死了,也是无法触发上云的,如果数据能正常上云,一般在0点10分左右就可以拉取到数据了。

定时拉取,可以参考一下定期查询建议:

cke_8822.png

数据查询及时性说明:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/dataquery-timeliness-desc-0000001058864328

-------------

问题三:假设我可以在APP自动同步的瞬间点击同步,会不会出现数据重复问题?

您描述的这种场景一般不会出现数据重复的问题。

---------------

问题四:针对运动数据,步数,距离,卡路里在同步的时候,时间段是否是相同的,比如我戴手表从10点到11点通过行走产生运动数据后,订阅这三种数据推送的开始时间和结束时间是否是一致的

同步的时间段是否相同,不会影响数据的查询。您的应用在收到订阅通知后,查询数据即可。

 

 

 欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh