【问题标题】:Why push notification server send message to client exactly为什么推送通知服务器准确地向客户端发送消息
【发布时间】:2013-01-10 12:43:11
【问题描述】:

iOS 中的 Facebook 应用程序示例,使用 Apple 推送通知服务 (APNS)。我认为当 Facebook 服务器看到新提要或新朋友请求时,它会向 APNS 发送消息。之后,APNS 将向正在登录该 Facebook 帐户的客户端推送通知。我的问题是:

  1. 为什么 APNS 知道哪个设备登录了该 Facebook 帐户?
  2. APNS 如何准确地向该客户端发送消息(为什么 APNS 知道客户端的 IP 地址)?

据我所知,推送通知也是 Windows Phone(Microsoft 推送通知服务)和 Android(云到设备消息)中使用的一种技术。

谢谢。

【问题讨论】:

    标签: android ios push-notification windows-phone android-c2dm


    【解决方案1】:

    APNS(Apple 推送通知服务)适用于每个设备的每个应用唯一 ID。 您将消息推送到此唯一 ID,然后它会在用户设备上传递。

    您的应用程序必须请求此 ID 并将其传递给将发送通知的服务器。 ID 是由 APNS API 创建的,因此 Apple 知道 ID 属于该设备和应用程序。 我猜windows和android会以同样的方式工作。

    【讨论】:

    • 您的意思是 Facebook 应用程序已在该设备上向 APNS 注册了它自己的 ID。
    • 在阅读您的答案之前,我认为它会通过应用程序包向设备发送消息,例如 com.facebook.iosapp。以及 APNS 如何知道 IP 地址与每个设备 ID 对应。我认为每次连接到 Internet 或 IP 更改时,我的设备都会将 IP 地址发送到 APNS。
    • 没有使用 IP 地址,它基于一个特殊的 ID(APNS 令牌)。设备将联系 APNS 服务器并保持一个套接字打开以接收所有应用的新通知。
    • 那么,你的意思是iOS必须在间隔时间(例如每5秒)连接到APNS来检查它是否有新的连接?可能需要更多的电池。请给我一份关于iOS设备和APNS之间连接机制的文档,我可以了解更多!
    猜你喜欢
    • 2019-11-12
    • 2015-01-05
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多