Firebase 消息传递没有默认构造函数

Posted

技术标签:

【中文标题】Firebase 消息传递没有默认构造函数【英文标题】:Firebase messaging doesn't have a default constructor 【发布时间】:2021-06-24 00:30:23 【问题描述】:
import 'package:flutter/material.dart';
import 'package:firebase_messaging/firebase_messaging.dart';

import 'package:google_maps_flutter/google_maps_flutter.dart';    

class PushNotificationService

  final FirebaseMessaging firebaseMessaging = FirebaseMessaging();

  Future initialize(context) async
   
    firebaseMessaging.configure(
      onMessage: (Map<String, dynamic> message) async 
        retrieveRideRequestInfo(getRideRequestId(message), context);
       ,
       onLaunch: (Map<String, dynamic> message) async 
         retrieveRideRequestInfo(getRideRequestId(message), context);
       ,
       onResume: (Map<String, dynamic> message) async 
        retrieveRideRequestInfo(getRideRequestId(message), context);
      ,
     );
    

清单:

    <intent-filter>
        <action android:name="FLUTTER_NOTIFICATION_CLICK" />
        <category android:name="android.intent.category.DEFAULT" 
        />
    </intent-filter>

错误:“FirebaseMessaging”类没有默认构造函数。 尝试使用“FirebaseMessaging”中定义的命名构造函数之一。

【问题讨论】:

您使用的是哪个版本的 Firebase 消息传递? 【参考方案1】:

试试FirebaseMessaging.instance 而不是FirebaseMessaging(),应该可以。

【讨论】:

是的,我就是这么做的。谢谢 @FranklinPremkumar 请将其标记为正确答案【参考方案2】:

尝试添加依赖firebase_core 1.4.0

导入'package:firebase_core/firebase_core.dart';

    @override
      void initState() 
        // TODO: implement initState
        super.initState();
        Firebase.initializeApp();
      
     
      onPressed: () async 
           String token = await FirebaseMessaging.instance.getToken();
           print(token);
                    
        ,

【讨论】:

【参考方案3】:

使用FirebaseStorage.instanceFor 代替默认构造函数

【讨论】:

【参考方案4】:

使用旧版本的 FirebaseMessaging。我用firebase_messaging: ^4.0.0+1

【讨论】:

以上是关于Firebase 消息传递没有默认构造函数的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 云消息传递:我们无法注册默认服务工作者错误

Firebase 云消息传递 - 有多个主题 - 没有消息重复

Firebase云消息传递`onMessageReceived`没有被调用?

生产中的 Firebase 消息传递

在哪里可以找到有关 Firebase 云消息传递可用声音的文档?

Firebase 云消息传递消息日志