基本原理
iOS推送分为Local Notifications(本地推送) 和 Remote Notifications(远程推送)
1、App本地创建通知,加入到系统的Schedule里,
2、如果触发器条件达成时会推送相应的消息内容
Remote Notifications(远程推送)
注:图中的Provider 一般指的是App Push服务器
上图总结下分为3步:
第一步:App push服务器 将要发送的消息内容和Device Token 发送到APNs服务器。
第二步:APNs服务器接收到Device Token,然后在已注册的Push服务的iPhone列表中找到目标标识iPhone,并将消息发送给iPhone。
第三步:iPhone把接收到的消息传递给相应的App,根据设定的样式弹出。
接下来再看一张解释图:
根据上面的图片我们可以看到远程推送主要分5步:
1、App传UDID和BundleID去注册远程消息通知,并像APNs申请唯一的标识 Device token;
2、APNs返回App一个唯一标识 Device token(非常重要);
3、App 将Device token 发送给App Push服务器;
4、App Push服务器将要发送的消息和Device token打包发送给APNs;
5、APNs接到消息之后,并且找到对应的注册iPhone,然后将内容推送给目标iPhone.iPhone然后将消息转送给相应的App.