在通知横幅显示之前处理推送通知

3

当应用程序接收到远程通知时,在IOS通知横幅/警报显示之前,我希望在应用程序中执行一些代码。 我的想法是捕获通知中的json,根据其内容和其他规则,确定是否应向用户显示通知。

1个回答

5
您可以创建“静默”推送通知(请参阅苹果文档)。当您收到这样的静默通知时:
  • 解析JSON
  • 决定是否要显示它
  • 如果是,请只显示一个普通的本地通知,对于用户来说,它看起来与推送通知相同
您会在许多SO教程中找到如何创建本地通知的方法。
您必须实现application:didReceiveRemoteNotification:fetchCompletionHandler方法。

使用此方法处理应用程序的传入远程通知。与仅在应用程序前台运行时调用的application:didReceiveRemoteNotification:方法不同,当您的应用程序在前台或后台运行时,系统将调用此方法。此外,如果启用了远程通知后台模式,则系统在接收到远程通知时将启动您的应用程序(或唤醒它从挂起状态)并将其置于后台状态。但是,如果用户已强制退出应用程序,则系统不会自动启动您的应用程序。在这种情况下,用户必须重新启动您的应用程序或重新启动设备,然后系统才会再次尝试自动启动您的应用程序。


非常感谢!这正是我在寻找的。然而,当应用程序被杀死且没有结果时,我也在寻找如何使其工作的方法。有什么想法吗? - johanhernandez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接