【发布时间】:2013-06-20 04:40:14
【问题描述】:
iOS“推送”通知如何发送到特定设备而不需要轮询服务器?
例如,假设我在 Facebook 上收到一条新消息。 Facebook 通知 Apple 我的设备应该收到这样的通知。但是 Apple 如何知道将消息推送到哪个设备/IP?
【问题讨论】:
-
@Wain 我正在寻找技术层面的详细解释。那篇文章水平极高。所以我的设备始终与 Apple 的推送服务器保持开放连接?
-
我更熟悉 android push,但通常,当您安装应用程序时,它会使用唯一 ID 向 Apple 注册设备。然后当 facebook 向苹果发送消息时,苹果会将其转发到设备唯一 ID。
-
@Pjack 是的,但是随着我的设备不断更换不同的基站、不同的 wifi 网络,Apple 如何知道我唯一 ID 的 IP?
-
@whydna 感谢您提出这个问题。我想完全理解同样的事情。我相信这回答了我的问题:stackoverflow.com/questions/18859732/…
-
@AndyHin 设备操作系统 (iOS) 知道哪些 APNs 服务器是有效的。设备正在连接到这些服务器并保持连接打开。此连接可能与设备 ID 和其他元数据(电话号码)相关联。当需要“推送”消息时,APN 会找到正确的连接并将其发送到该已打开的连接。因此 APNs 不会尝试与设备建立连接,它始终是打开该连接的设备。每台设备一个连接。
标签: ios push-notification apple-push-notifications