ios - 如何通过不同的用户操作捕获所有 iOS 推送通知,包括点击应用程序图标

标签 ios objective-c swift apple-push-notifications push

根据 Apple 指南:

“作为显示通知的结果,用户点击警报的操作按钮或点击(或单击)应用程序图标。 如果点击操作按钮(在运行 iOS 的设备上),系统将启动应用程序并且应用程序调用其委托(delegate)的 application:didFinishLaunchingWithOptions: 方法(如果已实现);它传入通知负载(用于远程通知)或本地通知对象(用于本地通知)。

如果在运行 iOS 的设备上点击应用程序图标,应用程序会调用相同的方法,但不会提供有关通知的任何信息。如果在运行 Mac OS X 的计算机上单击应用程序图标,应用程序将调用委托(delegate)的 applicationDidFinishLaunching: 方法,委托(delegate)可以在该方法中获取远程通知负载。”

我的问题是 假设用户从提供者那里得到了 3-4 个推送通知,并且都存储在苹果的通知中心。如果用户点击通知提醒,他/她可以轻松地在应用程序中获取通知数据。但是,如果用户点击 iPhone 上的应用程序图标,如何获取与所有先前通知相关的所有数据。

提前致谢!

最佳答案

您不能,您只会收到有关用于打开您的应用的通知的信息。

因此,如果用户打开您的应用,并且您的应用有通知,您将无法通过应用中的 with 检索它们。

解决方法可能是同时跟踪服务器上的通知并在应用程序中处理它。因此,服务器会跟踪已读取的通知。 Facebook 就是这样做的。

关于ios - 如何通过不同的用户操作捕获所有 iOS 推送通知,包括点击应用程序图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11290661/

相关文章:

ios - 让页面 View 在最后一个屏幕上弹出

iphone - xCode动态添加字段

ios - SQLite 是否创建了一个我可以排序/获取的数字索引?

ios - #if 和 #ifdef Objective-C 预处理器宏有什么区别?

ios - 在没有自动布局的情况下增加 UIView 的高度

objective-c - 更改核心动画代理持续时间的两种方法——一种不起作用……为什么?

objective-c - 无限水平滚动 UIScrollView

ios - Web 查看后退按钮历史记录

ios - 键入文本时动态更改单元格的高度,并重新加载包含的表格 View 以调整大小

swift - Cocoa:缩小主视图/细节 View ,类似 Keynote 的应用程序