gpt4 book ai didi

ios - didReceiveRemoteNotification 函数不使用 FCM 通知服务器调用

转载 作者:搜寻专家 更新时间:2023-11-01 06:27:11 26 4
gpt4 key购买 nike

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

我的问题是当设备在后台时,这个函数 func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) 没有调用。

我尝试过的解决方案:

  • 这个函数:

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

当用户点击通知时被调用。否则,它不会被触发。

  • "content-available": true, "priority": "high" 添加到负载中。另外,我尝试了这个值 "content-available": 1

  • 这是我的函数代码:

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

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

}

最佳答案

只是添加已接受的答案:在我的情况下,问题是相同的,但是当我通过 http "POST"NSMUtableRequest 发送通知时,应用已接受的答案的方式实际上是将它与声音、角标(Badge)、图 block 等一起添加到通知参数中。

let postParams: [String : Any] = [
"to": receiverToken,
"notification": [
"badge" : 1,
"body": body,
"title": title,
"subtitle": subtitle,
"sound" : true, // or specify audio name to play
"content_available": true, // this will call didReceiveRemoteNotification in receiving app, else won't work
"priority": "high"
],
"data" : [
"data": "ciao",
]
]

希望这也能帮助其他人,因为我花了很长时间试图弄清楚如何应用这个解决方案。非常感谢。

关于ios - didReceiveRemoteNotification 函数不使用 FCM 通知服务器调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52801107/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com