不使用 FCM 通知服务器调用 didReceiveRemoteNotification 函数 [英] didReceiveRemoteNotification function doesn't called with FCM notification server

查看:29
本文介绍了不使用 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 函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆