Flutter Firebase 通知问题 Android

Flutter Firebase Notification issue Android

我正在尝试在我的 flutter 应用程序中实现 firebase_messaging。在 Android Integration 上,当我编写本机应用程序级代码时出现错误。

import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService;

class Application: FlutterApplication(), PluginRegistrantCallback {

    override fun onCreate() {
        super.onCreate()
        FlutterFirebaseMessagingService.setPluginRegistrant(this)
    }
    override fun registerWith(registry: PluginRegistry?) {
        GeneratedPluginRegistrant.registerWith(registry)
    }
}

Unresolved Reference: FlutterFirebaseMessagingService

TypeMismatch: Required FlutterEngine. Found PluginRegistry?

我已经在我的应用程序文件夹下成功添加了 Google-services.json 还在我正在使用的项目级别 gradle 和应用程序级别 gradle 中添加了所需的依赖项

实施'com.google.firebase:firebase-messaging:20.1.3'

版本。

Flutter 详细信息: Flutter(频道稳定,v1.12.13+hotfix.8,在 Mac OS X 10.15.1 19B88,语言环境 en-US) Firebase_messaging 版本为 ^6.0.12

我什至尝试降级firebase-Messaging的版本,但仍然发现这个问题。

应用程序 registerWith; 中的剪切方法 GeneratedPluginRegistrant.registerWith(registry) 并将其粘贴到您的 MainActivity 方法 configureFlutterEngine 中,如下所示:

public class MainActivity extends FlutterActivity {
    @Override
    public void configureFlutterEngine(FlutterEngine flutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine);

    }
}

PS: 我得到一个新的未处理异常(不影响 FCM 功能,但看起来很丑;我正在处理):

MissingPluginException(No implementation found for method FcmDartService#initialized on channel plugins.flutter.io/firebase_messaging_background)

在你的Application.ktclass中修改一下函数:

 override fun registerWith(registry: PluginRegistry?) {
        io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
          }