推送的流程与原理

基于APNS的远程推送机制与原理

1.当我们第一次打开App的时候,会提醒我们当前的App想要给我们发送消息推送,是否允许接受通知

当我们点击了“好”的时候,我们的程序会向APNS服务器注册推送的服务

APNS

—— Apple push notification servers

2.当我们的应用程序向APNS发送注册的时候,会将我们本工程(当前项目)的bundle id和我们手机上得udid打包发送给我们的APNS,我们的APNS在接收到这两样东西的时候会将他们两个合在一起生成一个叫做Device token的唯一编码,这个Device token可以看做是一个令牌,也可以看做是一个身份证号码,它是标示着你这部手机上的这个app(当我们注册或登录以后会将Device token绑定在一起)

3.APNS将Device token返回给我们的工程,在我们接收到这个Device token的时候,我们会编写代码将这个token发送给我们的服务器,如果需要做唯一标示(单给某一个用户发送一条通知),我们需要知道这个用户的账号和Device token这两样东西对应才可以。

4.我们的服务器通过使用我们所给的推送证书和传输过来的Device token,将我们要发送的消息和要发送的对象(指定的某个Device token)打包发送给APNS。

5.APNS遍历自己服务器查找收到的Device token,将接收到的消息发送给该用户,如果该用户未打开App,那么唤醒其App(如果我们手动点开了这个推送,那我们将直接启动App)

推荐阅读更多精彩内容