didReceiveRemoteNotification function doesn#39;t called with FCM notification server(不使用 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":是的
.content-available 会发送通知,但不会调用 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 函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!