首页 > 解决方案 > 应用程序在后台时未调用 iOS 发布模式的后台消息处理程序 [FCM,Flutter]

问题描述

我的 FCM 后台消息处理程序没有在 iOS 上被调用。

我已按照此处的步骤设置 ios FCM。

如图所示,我还分别打开并检查了后台获取和远程通知

在此处输入图像描述

带有通知或通知 + 数据的 FCM 消息可以正常工作。

但是,当我使用纯数据消息来触发后台消息处理程序时,不会触发处理程序。

下面是我的代码:

    Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
      await Firebase.initializeApp();
      print('Handling a background message ${message.messageId}');
      print(message.data);
   
    }
    
    
    void main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
      setupDependencies();
      runApp(MyApp());
      }

下面是我从邮递员发送来测试后台处理程序的数据:

{
    "content_available" : true,
    "priority" : "high",
   "data" : {
        "click_action": "FLUTTER_NOTIFICATION_CLICK",
        "x": "22",
   },
    "to":"xxxUSER_FCM_TOKENxxx"
}

关于如何解决这个问题的任何建议或想法?

标签: iosflutterfirebase-cloud-messagingfirebase-notifications

解决方案


推荐阅读