当应用不在后台时,如何获取iOS推送通知的发送状态?

时间:2016-02-09 01:51:09

标签: ios push-notification xmpp apple-push-notifications

我已经对此进行了一段时间的研究,但无法想办法如何做到这一点。

在WhatsApp和其他一些iOS聊天应用中,会发生以下情况。

  • 消息接收器强制关闭应用程序(应用程序未在后台运行)
  • 发件人发送消息。
  • 接收方收到APNS推送通知。
  • 发件人将状态视为Delivered

有趣的是,当设备关闭时,它仍然可以执行此操作。

我们说接收器的设备已关闭。然后发生以下情况。

  • 发件人发送消息。
  • 发件人将状态视为Sent(对服务器)
  • 接收器打开手机(但应用程序未在后台运行)
  • Receiver在设备上获取推送通知(但不会打开它)
  • 发件人将状态视为Delivered

GCM具有交付状态,如果应用程序在后台运行,我们可以通过APNS查找交付状态。

由于APNS没有交付状态反馈服务,即使应用未在后台运行,它如何知道另一端何时收到消息?

1 个答案:

答案 0 :(得分:0)

APNS / GCM消息由特殊系统服务接收,而不是由您使用的应用程序接收。因此,当您打开手机时 - 该服务会收到消息并向Apple / Google服务器发送新状态,并向用户显示通知。