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

joh*_*dez 3 push-notification ios swift

我想在应用程序收到远程通知时执行一些代码,然后显示 IOS 通知的横幅/警报。这个想法是捕获通知中的json,并根据它的内容和其他规则,我会知道是否应该为用户显示通知。

Dar*_*rko 5

您可以创建“静默”推送通知。(请参阅 Apple 文档)当您收到此类无声通知时:

  • 解析 JSON
  • 决定是否要显示它
  • 如果是,只显示一个普通的本地通知,它看起来与用户的推送通知相同

您会找到大量关于如何创建本地通知的 SO 教程。

你必须实现 application:didReceiveRemoteNotification: fetchCompletionHandler。

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