保留阅读推送通知
Posted
技术标签:
【中文标题】保留阅读推送通知【英文标题】:Preserving read push notifications 【发布时间】:2012-04-13 13:55:00 【问题描述】:我想知道是否可以将最后 5 个(例如)已读通知保留在苹果的通知中心(当您在顶部附近向下滑动时显示的通知)
我注意到,一旦您单击通知并“阅读”它,它就会从列表中消失。这是由应用程序以编程方式完成的,它向设备发送一条消息,通知已被阅读并且可以删除它,还是由设备自动完成,您完全无法控制它。
一位客户说它看到一个应用程序执行此操作并将最后 5 个通知保留在那里,无论它们是否被访问但到目前为止我没有发现任何迹象表明这是可能的
【问题讨论】:
【参考方案1】:嗯,这不是一个非常完整的答案,但我的一位同事设法完成了这项工作。 他所做的只是停止使用徽章编号进行通知。收到通知时不设置徽章编号,读取通知时不设置徽章编号。
[edit]好像当你收到通知后将徽章编号设置为0时,ios会自动清除通知,这是一个未记录的功能。
【讨论】:
【参考方案2】:您只能“阅读”发送到您的应用程序的通知,并且只有当用户明确使用他们的“操作”按钮打开您的应用程序时。如果这是您可以使用的场景:
// Handle local notification if received
if ([launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey] != nil)
NSLog(@"received a local notification = %@", [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]);
// Do something, save it..
// Handle remote notification if received
if ([launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey] != nil)
NSlog(@"received a remote notification = %@", [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]);
// Do something, save it..
或其他替代方法(NotificationCenter 等)在打开应用程序时读取通知并永久保存。
【讨论】:
我们已经让阅读部分工作了,这里没有问题。 PUSH适用于我们的应用程序,只是通知在阅读后消失,而其他应用程序则不会,它们仍然将最后X个通知保留在通知中心,无论它们是否被阅读以上是关于保留阅读推送通知的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 上单击时,Phonegap 插件推送通知保留在托盘中