如果没有设备需要轮询服务器,iOS“推送”通知如何传送到特定设备?
例如,假设我在Facebook上收到了一条新消息。 Facebook通知Apple我的设备应该收到通知。但Apple如何知道将消息推送到哪个设备/ IP?
答案 0 :(得分:76)
每个设备都可以使用自己独特的设备令牌更新数据。这张照片解释了一切。
答案 1 :(得分:43)
这对我来说太过分了。
从文档中。
Apple推送通知服务(APN)将推送通知传播到已注册接收这些通知的应用程序的设备。每个设备都与服务建立经过认证和加密的IP连接,并通过此持久连接接收通知。提供商通过持久且安全的通道与APN连接,同时监控用于其客户端应用程序的传入数据。当应用程序的新数据到达时,提供程序准备并通过通道向APN发送通知,APN将通知推送到目标设备。
我建议您阅读文档以获取更多信息以及如何使用和配置。一切都在那里。
答案 2 :(得分:19)
答案 3 :(得分:12)
设备不会继续轮询服务器以获取推送通知。
为了简单起见,请考虑将iPhone连接到互联网。连接到互联网iPhone建立与Apple推送通知服务器的连接此连接是开放连接,这意味着数据到达服务器时数据可以从服务器投放到iPhone。
Apple不会将HTTP协议用于推送通知,但如果您了解HTTP协议,它几乎就是一种类似的方法。
http://en.wikipedia.org/wiki/Push_technology#HTTP_server_push
答案 4 :(得分:3)
在this article中有一个非常好的推送通知摘要。
在iOS中,应用程序在后台无法做很多事情。应用程序只允许进行有限的活动,因此可以节省电池寿命。
但是,如果发生了一些有趣的事情并且您希望让用户知道这一点,即使他们目前没有使用您的应用程序,该怎么办?