IOS 苹果推送 APNS(一)

1、APNS推送说明

  苹果的推送服务APNs基本原理简单来说就是苹果利用自己专门的推送服务器(APNs)接收来自我们自己应用服务器的需要被推送的信息,然后推送到指定的iOS设备上,然后由设备通知到我们的应用程序,设备以通知或者声音的形式通知用户有新的消息。要完成APNS推送首先需要我们向APNS服务器注册,注册成功以后服务器会返回一个device_token,我们在将返回的device_token保存下来,当要向APNS发送消息时,我们的应用服务器按照一定的格式打包消息,然后再结合device_token一并发给APNS服务器,APNS服务器在将消息推送到相应的手机上,然后再屏幕上显示我们推送的消息,整个注册过程如下:

IOS 苹果推送 APNS(一)_第1张图片

上图完成了一下步骤

1、device携带设备号链接APNS

2、链接成功以后,apns打包处理产生device_token,并返回给device

3、device向自己的应用服务器注册

这样就完成了在apns与自己应用服务器的注册。

执行顺序如下图:

IOS 苹果推送 APNS(一)_第2张图片

这里要提到的一点是,我们的设备和APNS服务器之间的通讯是基于SSL协议的TCP流通讯,二者之间维持一个长连接,当从APNS服务器注册成功后,一定要将device_token发送给我们的应用服务器,因为在推送过程中,首相是由我们的应用服务器(上图中Provider)将需要推送的消息结合device_token按指定格式(后面会提到)打包然后发送给APNS服务器,然后由APNS服务器推送给我们的设备。

好了,注册设备的过程完成了,接下来就是如何推送了:

IOS 苹果推送 APNS(一)_第3张图片

推送的步骤如下:

1、首先,安装了具有推送功能的应用,我们的设备在右网络的情况下,连接苹果推送服务器,连接过程中,APNS会验证device_token,连接成功以后维持一个长连接;

2、provider(我们自己发送消息的服务器),将需要被推送的消息与被推送设备的device_token一起打包发送给APNS服务器;

3、APNS服务器接收到消息以后,将消息推送给指定device_token的设备;

4、设置收到消息以后,通知我们的应用程序(以在provider端设置的方式提示用户,声音或者弹出框)。

直观的流程图如下图:


apns的整个推送过程如下图:

IOS 苹果推送 APNS(一)_第4张图片

从上图可以看出:

1、首先应用程序注册消息推送。

2、IOS向APNS Server要device_token,APNS Server将device_token返回给应用程序,应用程序接收device_token。

3、应用程序将接收到的device_token发送给自己的应用程序服务器(即provider)。

4、应用程序服务器(provider)向APNS服务器发送消息

5、APNS服务器将消息发送给iPhone应用程序。

你可能感兴趣的:(IOS)