【HMS Core】流量获取、数据变更,运动健康里的小九九,你知道几个?
【问题描述1】
Health Kit订阅消息的数据获取流程是什么,该如何操作?
【解决方案】
1、订阅数据调用,可以先查看此文档:
文档中有介绍基础概念订阅交互流程:
2、红框中标注的URL是注册成为订阅者时填写的回调地址:
当订阅的用户数据上报到健康云发生变化时,Health Kit云侧就会调用您填写的回调地址,并携带相关参数,您服务端需要以Json格式进行接收,并返回204或404,此处的204、404是您服务器返回给Health Kit的,和REST接口中的错误码关系不大。
说明请查看“注册成为订阅者”章节:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/subscription-0000001078496860#section4351143591116
3、运动记录的订阅及运动类型可以在“锻炼记录数据”的简介中查看:
【问题描述2】
怎么知道Health Kit给我推的是哪个用户数据数据发生了改变?
【解决方案】
您在数据事件订阅成功后,会返回openid,openid是您应用中用户的唯一标识,可以根据openid进行判断:
openId可以通过用户的access_token获取:
解析凭证Access Token:
以下仅做参考:
客户端在登录授权成功的时候需要去获取 用户的 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