问题描述
我正在使用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函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!