fastcon云端推送业务流程
业务流程概述
1.推送流程
设备—->devhttpw—->notifyexec—->pushfront—->用户APP
2.APP交互流程(推送管理)
- 上报token
- 设置开关
- 用户退出账号对token设置
说明:目前没有针对用户fastcon专门的开关设置,这三个流程是通用的推送相关的流程
3.开发部署流程
- 后台录入推送账号(ios,安卓)
- 后台创建消息模板(ios,安卓等)
- temlateid,tagcode,pid,cpid,appid 提供给云端,云端后台创建fastcon推送模板和appid/tagcode映射关系
- 如果之前pid未曾配置,云端后台创建产品信息配置
- 上报token和设置开关的域名部署[lid]+appservice.ibroadlink.com
业务流程详述
1.推送流程
设备http上报json格式
{ "did":"", "fastcon":"0", "devType":"", "cDid":"", "cDevType":"", "configSupport":"0"//0:只支持配网,1:只支持子设备添加,2:两种方式都支持,3:白名单添加成功 }
更详细描述参考文档: https://doc.ibroadlink.com/firmware/fastcon_doc/fastcon_message_push/
devhttpw校验后转发
notifyexec内置模板和产品配置并做推送组装,详细步骤如下: 1) 查找pid相关的模板。(模板目前为配置文件,安卓ios等共用一个) 2) 事件检查(目前是a&&b&&c,目前设置的条件只有fastcon=0) 3) 从家庭中查找设备关联的账号,家庭列表 4) 遍历筛选出的模板进行推送。 A.获取产品相关的config(目前配置文件配置). B.遍历推送用户(可以配置只推送管理员),获取用户推送设置(system,token,language等) C.遍历推送方式进行推送,校验语言,组装action和content,tagcode,templateid,token推送
pushfront推送数据
2.APP交互流程
接口文档地址: http://gitlab.broadlink.com.cn/dnadocs/dnasys/blob/master/olddocs/notifysysapi.rst 2.1 app token上传接口 2.2 用户退出账号接口 2.6 用户设置推送接口
3.开发部署流程
- 后台录入推送账号(ios,安卓)
- 后台创建消息模板(ios,安卓等)
- temlateid,tagcode,pid,cpid,appid 提供给云端,云端后台创建fastcon推送模板和appid/tagcode映射关系(在没有运营系统的情况下暂时这样处理)
推送内容暂时为一样:
json content:{"friendlyName":"xxxx"} action:{"action":"ihc://device/fastconConfig?familyId=xxxx&masterDid=xxxx&clientInfo={\"did\":\"xxxx\",\"pid\":\"xxxx\",\"name\":\xxxx\",\"configType\": \"xxxx\"}\"}
appid-tagcode关系保存在 ./output/appidtagcode.json中,目前重启生效。 - 如果之前pid未曾配置,云端后台创建产品信息配置(在没有运营系统的情况下暂时这样处理)
json { "friendlyName":"智能插座", "pid":"000000000000000000000000137d0000" }
- 上报token和设置开关的域名部署[lid]+appservice.ibroadlink.com