Проблема уведомления Flutter Firebase Android - PullRequest
1 голос
/ 18 марта 2020

Я пытаюсь реализовать firebase_messaging в моем приложении флаттера. На Android Интеграция , когда я пишу собственный код уровня приложения, я получаю ошибки.

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)
    }
}

Неразрешенная ссылка: FlutterFirebaseMessagingService

TypeMismatch: Обязательный FlutterEngine . Найдено PluginRegistry?

Я успешно добавил службы Google. json в папке приложения также добавлены необходимые зависимости на уровне проекта и на уровне приложения в настоящее время я являюсь используя

реализацию 'com.google.firebase: firebase-messaging: 20.1.3'

версия.

детали флаттера: Flutter (стабильный канал, v1.12.13 + hotfix.8, на Ma c OS X 10.15.1 19B88, локаль en-US) Версия Firebase_messaging: ^ 6.0.12

Я даже пытался понизить версию Firebase-Messaging, но все еще нашел эту проблему.

Ответы [ 2 ]

0 голосов
/ 27 апреля 2020

в вашем классе Application.kt просто измените функцию:

 override fun registerWith(registry: PluginRegistry?) {
        io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
          }
0 голосов
/ 27 апреля 2020

Метод вырезания GeneratedPluginRegistrant.registerWith(registry) в вашем приложении registerWith; и вставка его в метод 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...