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