如何在应用程序未激活时发送和确认服务器消息

How to send and acknoledge server message when app is not active

我们想向我们的服务器发送确认消息,以确保用户收到特定的推送消息。对于 Android,这非常简单,因为我们可以使用 'broadcastlistener' 推断 GCM 推送,但对于 ios,我找不到如何执行此操作以及是否可能。

我们不需要坚持使用 ios 推送,但我们确实更喜欢它。因此,任何建议解决方法的答案都可以。

更清楚地说:我们知道苹果不保证交付,也不自己发送确认。这就是我们希望应用程序发送确认的原因,但是当应用程序未处于活动状态时,应用程序如何知道推送何时到达。

提前致谢。

编辑: 从答案和我们自己的研究看来,使用 APNS 无法实现我们想要的。如果在应用程序状态被终止并且我们想要接收并确认消息时完全有可能向应用程序发送消息,是否有人知道解决方法?

您最好的选择是通过推送负载中的 content-available 键使用 'silent' 推送通知 - 描述 here

只要您的应用 运行(在前台或后台),您的推送通知消息就会传送到您应用的委托对象。在这种方法中,您可以将确认发送回您的服务器,并在需要时显示本地通知以提醒用户。

我说这是你的 "best bet",因为不幸的是,如果你的应用不是 运行 在前台或后台,那么通知不会发送到你的应用,它只是显示为一个标准的通知。无法 100% 知道 Apple 推送通知已发送到设备。

是的,在 iOS 中是可能的,我找到了一种解决方法。请参考我下面的回答 link, Apple push notifications - delivery receipt