Application.kt Firebase 云消息传递文件

Application.kt file for Firebase cloud messaging

我正在尝试使用最新的 FCM firebase_messaging: ^10.0.1 在我的 pubspec.yaml

根据 here 中的文档,我必须在 Android 项目文件夹中创建一个应用程序文件。从该文档中,代码仍在 Java 中,我复制并粘贴了 java 代码,因此 Android Studio 会自动将其转换为 Kotlin,结果如下

在我的 Application.kt

import io.flutter.app.FlutterApplication
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback
import io.flutter.plugins.GeneratedPluginRegistrant
import io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingBackgroundService


class Application : FlutterApplication(), PluginRegistrantCallback {
    override fun onCreate() {
        super.onCreate()
        FlutterFirebaseMessagingBackgroundService.setPluginRegistrant(this)
    }

    override fun registerWith(registry: PluginRegistry?) {
        GeneratedPluginRegistrant.registerWith(registry)
    }
}

但我有这样的错误

我已经尝试导入,但我会遇到另一个类似这样的错误:

我好像无法导入PluginRegistry,我有这样的错误提示

Add library 'Gradle: org.apache.maven:maven-ant-tasks:2.1.3' to classpath

但是....我不明白。我应该怎么办 ? 要添加到 Application.kt (Kotlin) 以便我可以使用 Firebase 消息传递的代码是什么?还是应该在我的 kotlin 项目中使用 java 代码?

这应该是正确的实施方式

package io.flutter.plugins.firebasemessagingexample

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?) {
        io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
    }
}