前端时间研究APP消息推送的机制,因为机型、版本的碎片化,消息推送的机制不太好理解,因此总结下,放在博文里以备后续查阅。html
安卓Android系统的消息推送:前端
安卓 | ||||||
推送方式 | 应用状态 | 类型 | 消息中心 | 触发receive | 触发click | |
远程推送 | 应用在前台 | 一、普通消息 | 进入 | 不触发 | 不触发 | |
二、透传消息且符合格式 | 进入 | 不触发 | 触发 | |||
三、透传消息且不符合格式 | 不进入 | 触发 | 不触发 | |||
应用不在前台 | 进程 存活 |
一、普通消息 | 进入 | 不触发 | 不触发 | |
二、透传消息且符合格式 | 进入 | 不触发 | 触发 | |||
三、透传消息且不符合格式 | 不进入 | 不触发 | 不触发 | |||
本地推送 | 应用在前台 | 进入 | 不触发 | 不触发 |
苹果iOS系统的消息推送:app
iOS | ||||
推送方式 | 应用状态 | 消息中心 | 触发receive | 触发click |
远程推送 APNs |
应用在前台 | 不进入 | 触发 | 不触发 |
应用不在前台 | 进入 | 不触发 | 触发 | |
本地推送 | 应用在前台 | 进入 | 触发 | 不触发 |
Android:spa
触发click事件: 发送透传数据而且格式为标准格式。 htm
触发receive事件:发送透传数据且格式为非标准格式且应用在活动。(消息栏不会有提示!)进程
iOS: 事件
在线:只能响应receive,但消息中心无消息;table
不在线:消息中心有消息,且响应click事件.class
转自:http://www.piaoyi.org/mobile-app/APP-click-receive-push.htmlcli