新的 GCM 如何处理 APNS 反馈?

How new GCM handles APNS feedback?

我正在尝试新的 GCM 功能来向 iOS 设备发送通知。除了反馈消息外,一切都非常顺利。我假设在 GCM 通过 APNS 发送消息后,GCM 还调用 APNS 的反馈服务来获取无效令牌。下次当我们对 GCM 使用相同的设备令牌时,它应该以错误消息响应。卸载应用程序后我尝试了几次,但从未收到来自 GCM 的错误消息。每次显示成功消息。这里出了什么问题?

注意:如果您不熟悉GCM的新功能,请不要盲目回答。

APNS 反馈服务不是即时的。 GCM 确实轮询 APNS 反馈服务,但根据我的经验,它有点延迟(不确定是 APNS 的延迟还是 GCM 的延迟)。

您应该等待一段时间,然后尝试使用旧的注册令牌,您应该会看到 "Invalid Registration Token" 错误。

我认为这里的问题与环境有关。我正在使用开发人员证书来测试通知。 APNS 可能不会提供开发人员环境的任何详细信息。希望它能在生产中发挥作用。

更新


来自 Google 的支持提供了以下详细信息。

我们进行了一些挖掘,APNS 似乎就是这样处理事情的:

  • 当最后一个沙盒应用程序从设备中删除时,设备会断开与 APNS 沙盒的连接,并且无法再接收 pushes/provide 反馈。因此,APNS 反馈不会记录设备已卸载。
  • 如果您在设备上安装另一个支持推送的沙箱应用程序,这将强制设备再次连接到 APNS。我们检查了在这种情况下,我们收到通知该设备已被卸载并且 return 未注册到我们的客户端。