Hekr消息推送流程

v1.0.0 by kehua.shao@hekr.me

1. Hekr消息推送的实现

(1) Hekr云端使用了个推进行消息的推送。

(2)客户端需要向个推平台注册登记客户端应用。

(3) 客户端集成个推SDK以及接收推送消息的步骤:

  1. 在个推平台注册登记客户端应用
  2. 将注册后生成的AppID、AppKey、MasterSecret上报给Hekr公司对接人(目前通过邮件或者QQ消息的方式上报,后期会提供接口等方式)
  3. 下载并集成个推客户端的SDK,详情请查阅个推文档中心,或者咨询Hekr客户端的对接负责人
  4. 初始化个推客户端SDK,获取cid
  5. 注意:用户每次登录(即通过客户端登录时),客户端都要调用接口“C1-31 个推信道注册”,注意其中的参数gtcid:1、Android平台填写个推平台返回的cid;2、iOS平台填写苹果推送服务器返回的DeviceToken
  6. 接收并处理推送的消息,消息模板请参看本文档的第二章节和第三章节
  7. 用户每次登出(在客户端登出)或者删除客户端时,调用接口“C1-32 个推信道注销”

2. Android平台接收推送消息

2.1 Android平台接收到的消息模板
  1. Android平台的消息模板使用的是个推定义的透传消息模板
  2. 通知的消息是透传消息,需要客户端自定义通知栏样式,用户点击通知后,根据透传的内容跳转到相应的界面(如果是告警内容,则跳转到相应的设备页面)。
2.2 Android平台透传消息样例及说明

Android平台透传消息样例--该样例是设备上报的告警信息

{
  "invisible":
  {
    "mid": 123,
    "msgId": "a352ae20-462f-4e73-b36e-3aca8e73a8b8",
    "reportTime": 1441434784000,
    "tid": "hekr-tid-001",
    "uid": "hekr-uid-001",
    "dataTag": "temp",
    "dataTagIndex": 1
  },
  "visible": "你家着火了!!!"
}

Android平台透传消息说明 (1) Hekr云端在下发Android平台透传消息时,参数TransmissionType的值是2(透传消息设置,1为强制启动应用,客户端接收到消息后就会立即启动应用,但是在应用进程被杀之后,并不能强制启动应用;2为等待应用启动),具体含义参看个推文档中心。

(2) 推送的消息是一个JSON格式的字符串:

3. iOS平台接收推送消息

3.1 iOS平台接收到的消息模板
  1. iOS平台的消息模板使用的是个推定义的单个iOS用户简化推送
3.2 iOS平台消息样例及说明

iOS平台推送的消息包括两部分,一部分是通知内容,该内容在通知栏显示,对用户可见;第二部分是透传内容,根据该内容,确定用户点击通知后跳转的具体界面。

iOS平台消息透传内容样例--该样例是设备上报的告警信息

get notification :{
    aps = {
        alert = {
            body = "\U4f60\U5bb6\U7740\U706b\U4e86!!!";
        };
        badge = 1;
        "content-available" = 1;
        sound = default;
    };
    userdata = {
        dataTag = temp;
        dataTagIndex = 1;
        mid = 123;
        msgId = "bf10c136-2b87-4c2f-af59-7bf56b9e94d8";
        reportTime = 1441511552020;
        tid = "hekr-tid-001";
        uid = "hekr-uid-001";
    };
}

iOS平台消息透传内容说明

透传内容即自定义的消息: