调用didReceiveRemoteNotification

调用didReceiveRemoteNotification

本文介绍了FCM通知服务器未调用didReceiveRemoteNotification函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用FCM服务器进行远程通知,它可以完美地发送和接收通知.

I'm using FCM server for remote notifications, it worked perfectly with sending and receiving notifications.

我的问题是当设备在后台时,此功能func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)没有被调用.

My problem is when the device is in the background, this function func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) doesn't called.

我尝试过的解决方案:

  • 此功能:

  • This function:

userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void)

.否则,它不会被触发.

is called when user tapped on the notification. Otherwise, it's not triggered.

  • 在有效负载中添加"content-available": true, "priority": "high".另外,我尝试了此值"content-available": 1.

  • Adding "content-available": true, "priority": "high" to the payload. Also, I tried this value "content-available": 1.

这是我的功能代码:

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any],
                     fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {

        print("userInfo: \(userInfo)")
      completionHandler(.newData);

    }

推荐答案

如果您正在使用 Postman 进行测试,请尝试将"content-available": true更改为"content_available" : true. 可用内容将发送通知,但不会调用didReceiveRemoteNotification.

If you are testing with Postman then try changing "content-available": true to "content_available" : true. content-available will send notification but it doesn't call didReceiveRemoteNotification.

这篇关于FCM通知服务器未调用didReceiveRemoteNotification函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 22:16