推送过程图:
推送的过程经过如下步骤:
1.首先,我们的设备安装了具有推送功能的应用(应用程序要用代码注册消息推动),我们的 iOS设备在有网络的情况下会连接APNs推送服务器,连接过程中,APNS 服务器会验证devicetoken,连接成功后维持一个基于TCP 的长连接;
2.Provider(我们自己的应用服务器)收到需要被推送的消息并结合被推送的 iOS设备的devicetoken一起打包发送给APNS服务器;
3.APNS服务器将推送信息推送给指定devicetoken的iOS设备;
4.iOS设备收到推送消息后通知我们的应用程序并显示和提示用户(声音、弹出框)
比较直观的流程图:
信息包结构图:
上图显示的这个消息体就是我们的应用服务器(Provider)发送给APNs服务器的消息结构,APNs验证这个结构正确并提取其中的信息后,再将消息推送到指定的iOS设备。这个结构体包括五个部分,第一个部分是命令标示符,第二个部分是我们的devicetoken的长度,第三部分是我们的devicetoken字符串,第四部分是推送消 息体(Payload)的长度,最后一部分也就是真正的消息内容了,里面包含了推送消息的基本信息,比如消息内容,应用Icon右上角显示多少数字以及推送消息到达时所播放的声音等
Payload(消息体)的结构:
{
“aps”:{
“alert”:“听云给您发送了新消息”,
“badge”:1,
“sound”:“default”
},
}













