APNS个人经验

步骤:

1.Device连接APNs服务器并携带设备序列号

2.连接成功,APNs经过打包和处理产生device_token并返回给注册的Device

3.Device携带获取的device_token向我们自己的应用服务器注册

4.完成需要被推送的Device在APNs服务器和我们自己的应用服务器注册


APNS个人经验_第1张图片

以下是这个网友的总结(谢谢NickJackson):

2014.10.22 更新:

苹果基于bug原因,停用了服务器端的SSL3.0连接方式。目前只支持TLS连接。

1. 如果推送的时候deviceToken对应的机器在APNS服务器上是离线状态,苹果会保存推送信息“一段时间”。当机器恢复在线状态时,推送信息到该机器。如果机器长时间不在线,苹果会抛弃掉这条消息。这个“一段时间”没有明文说多久,而且不知道苹果在不同情况下对这个时间有没有动态调整,所以无法推测这个时间对于信息丢失情况的影响。

2. 对于连续推送的情况,针对离线设备,苹果永远只存储最新的一条,上一条信息会被抛弃。

3. 有多条推送任务时,苹果推荐使用单个连接持续发送,而不是重复的开关连接,否则会被苹果认为D-O-S攻击给拒绝掉。如果有多台服务器,可以并发连接到APNS,分摊推送任务,可以更高效的执行任务。

4. 发送多条推送任务时,如果其中有一条推送使用了错误的deviceToken,那么连接就会被断掉,导致后面的推送任务停止执行。苹果通过一个“The Feedback Service”的服务来定期告知provider无效的deviceToken列表,如何使用这个服务参见苹果官方文档中的详细说明,下面有附连接。

5.APNs失去与客户端的连接后, 只会保存最后一条消息(最新的一条)当重新连接后将这条消息推送给客户端

你可能感兴趣的:(APNS个人经验)