消息推送(个推推送)的原理:
1.手机客户端弹出是否允许通知;
2.如果允许通知,就注册通知,向APNS获取deviceToken;
3.手机客户端初始化个推SDK;
4.如果初始化成功,个推SDK向在个推服务器注册;
5.如果注册成功,个推服务器会向个推SDK返回CID;
6.如果个推SDK接收到个推服务器发送来的CID,会立即向手机客户端返回该CID;
7.手机客户端根据CID进行用户别名绑定,将<UID,CID>对应关系保存到公司服务器;
8.公司后台服务根据绑定的别名和条件发送消息到个推服务器;
9.个推服务器查找CID下发消息:
(1)如果CID在线,个推应用内透传消息到个推SDK,将消息通知手机客户端;
(2)如果CID不在线,个推服务器将消息发送到苹果APNS服务器,然后APNS下发通知到手机客户端。