一尘不染

FCM通知服务器未调用didReceiveRemoteNotification函数

swift

我正在使用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);
    
    }
    

阅读 196

收藏
2020-07-07

共1个答案

一尘不染

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