#####基本原理 iOS推送分为Local Notifications(本地推送) 和 Remote Notifications(远程推送)(原理图来源于网络,如有侵权请告知) Local Notifications(本地推送) #####本地推送: 1、 App本地创建通知,加入到系统的Schedule里, 2、如果触发器条件达成时会推送相应的消息内容 #####Remote Notifications(远程推送) 图中,Provider是指某个iPhone软件的Push服务器,这篇文章我使用gitHub上面免费的服务器作为我的推送源。
APNS 是Apple Push Notification Service(Apple Push服务器)的缩写,是苹果的服务器。
#####上图可以分为三个阶段:
第一阶段:APNS Pusher应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。
第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发到iPhone。
第三阶段:iPhone把发来的消息传递给相应的应用程序, 并且按照设定弹出Push通知。
从上图我们可以看到:
####首先是应用程序注册消息推送。 1、IOS跟APNS Server要deviceToken。应用程序接受deviceToken。 2、应用程序将deviceToken发送给PUSH服务端程序。 3、服务端程序向APNS服务发送消息。 4、APNS服务将消息发送给iPhone应用程序。