强制退出/向上滑动以杀死iOS应用程序而不点击横幅/警报时如何获取推送通知有效负载?

Ali*_*son 1 xcode push-notification apple-push-notifications ios

我正在构建一个应用程序来处理从Parse推送的通知,并尝试创建通知历史记录功能.我已经成功启用了后台模式,因此当应用程序在后台运行时,应用程序可以很好地获得有效负载,application:didReceiveRemoteNotification:fetchCompletionHandler甚至不会点击横幅/警报.但是,当强制退出/向上滑动以杀死应用程序时,application:didReceiveRemoteNotification:fetchCompletionHandler不会被调用.

在没有点击横幅/警报的情况下杀死应用程序时,是否有任何方法可以实现获取推送通知有效负载?先感谢您!

Que*_*yot 5

如果您的应用被杀,则无法获得通知的有效负载.

在大多数情况下,系统在用户强行退出后不会重新启动应用程序.位置应用程序是一个例外,它在iOS 8及更高版本中被用户强行退出后重新启动.但是,在其他情况下,用户必须明确启动应用程序或重新启动设备,然后系统才能将应用程序自动启动到后台.在设备上启用密码保护后,系统不会在用户首次解锁设备之前在后台启动应用程序.- 了解您的应用程序何时启动到后台

无论如何,推送通知是不可靠的.
这意味着您无法确定它们是否会被送达.

如果您想保留"通知历史记录"列表,请在服务器端执行并在应用程序中获取它(以完全不推送相关的方式).

每次发送推送通知时,请将其内容保存在数据库中,就像任何对象一样.然后,当用户打开历史列表时,像任何其他解析对象一样获取列表.