我已实施AWS SNS推送通知服务。
我们遇到了一个问题,如下所述:
场景:
我们正在努力保存我们收到的通知消息,作为要求的一部分。
当应用程序被杀死时(从最近的应用程序中移出)我们可以收到通知,我们也能够在通知面板直接打开消息时保存通知消息它工作正常,但是当我们打开应用程序直接通知消息未被保存。
简而言之,如果我们直接打开应用而不是点击通知面板中的消息,我们无法知道是否收到了通知消息。
这是默认行为吗?或者有没有解决这个问题?
已经查看了许多关于推送通知的帖子,但没有看到任何线程指向这种情况。
答案 0 :(得分:2)
这是正常行为,没有解决方法
如果您的应用被用户杀死,则无法在再次手动启动之前运行任何代码。
如果通过通知手动启动,则此通知的有效负载将由您的AppDelegate
处理。
除此之外,请不要忘记推送通知是尽力而为。这意味着它们不可靠,它们可能会严重延迟或根本不会交付。不要依赖推送通知来完成任何关键工作。
如果您需要在应用内保留通知的副本,请将其保留在服务器端并像对待任何其他对象一样获取它们。
答案 1 :(得分:0)
为了在用户杀死该应用程序时执行代码,您需要使用苹果提供的PushKit框架来实现VOIP。
VOIP推送不同于常规的推送通知,即使该应用被用户杀死,该应用也可以激活。