直接运行代码以响应接收到的APNS消息



我们有一个iOS应用程序,可以通过FCM向其发送通知。

理想情况下,我们希望能够让应用程序直接从通知中运行一些代码。

如果我们发送数据类型通知并且应用程序处于前台,这似乎是可行的。

然而,如果a( 应用程序处于后台b( 应用程序已终止。是否有某种方法可以自动运行应用程序,或者在应用程序终止时使其自身重新运行。

感谢

应用程序在前台

在AppDelegate中实现didReceiveRemoteNotification委托方法来处理通知,并在应用程序处于前台时运行所需的代码。

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {
//write your code here when app is in foreground
}

应用程序在后台

当应用程序处于后台并且用户收到推送通知时,如果用户点击通知,将调用didReceiveRemoteNotification,但如果用户点击应用程序图标,则不会调用此方法,在这种情况下,您必须与服务器通信,或者您可以使用以前的值检查徽章编号(您可以将其存储在NSUserDefaults中(并运行所需的代码。

应用程序已终止

当应用程序已终止时,将不会调用didReceiveRemoteNotification方法,但是,您可以在appdelegate中的didFinishWithLaunchOptions方法中查看launchOptions了解应用程序是否已从通知启动,并相应地执行任务。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
if launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification] != nil {
// Do your task here
}
}

相关内容

  • 没有找到相关文章

最新更新