0
点赞
收藏
分享

微信扫一扫

【HMS Core】数据变更,运动健康里的小九九,你知道几个?

【问题描述1】

Health Kit订阅消息的数据获取流程是什么,该如何操作?

【解决方案】

1、订阅数据调用,可以先查看此文档:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/subscription-0000001078496860

文档中有介绍基础概念订阅交互流程:

【HMS Core】数据变更,运动健康里的小九九,你知道几个?_解决方案

2、红框中标注的URL是注册成为订阅者时填写的回调地址:

注册成为订阅者:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/subscription-0000001078496860#section4351143591116

【HMS Core】数据变更,运动健康里的小九九,你知道几个?_客户端_02

当订阅的用户数据上报到健康云发生变化时,Health Kit云侧就会调用您填写的回调地址,并携带相关参数,您服务端需要以Json格式进行接收,并返回204或404,此处的204、404是您服务器返回给Health Kit的,和REST接口中的错误码关系不大。

【HMS Core】数据变更,运动健康里的小九九,你知道几个?_客户端_03

说明请查看“注册成为订阅者”章节:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/subscription-0000001078496860#section4351143591116

3、运动记录的订阅及运动类型可以在“锻炼记录数据”的简介中查看:

【HMS Core】数据变更,运动健康里的小九九,你知道几个?_数据_04

锻炼记录数据的简介:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/introduction-fitness-record-data-0000001131831088#section9506950218

【问题描述2】

怎么知道Health Kit给我推的是哪个用户数据数据发生了改变?

【解决方案】

您在数据事件订阅成功后,会返回openid,openid是您应用中用户的唯一标识,可以根据openid进行判断:

【HMS Core】数据变更,运动健康里的小九九,你知道几个?_客户端_05

数据事件订阅:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/subscription-0000001078496860#section1381638115

openId可以通过用户的access_token获取:

解析凭证Access Token:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/account-gettokeninfo-0000001050050585#section1211262695115

【HMS Core】数据变更,运动健康里的小九九,你知道几个?_客户端_06

以下仅做参考:

客户端在登录授权成功的时候需要去获取 用户的 access_token(at), refresh_token(rt), 和 openId, 维护一个 列表。refresh_token的有效期约180天,客户端每次失效时候要重新获取更新列表保证其有效。

每次收到订阅推送的openid的时候。 需要根据自己保存的openid去获取refresh_token, 在根据rt去请求at,最后用at去请求数据接口。




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

举报

相关推荐

0 条评论