ошибка: Метод «настройка» не определен для типа «FirebaseMessaging» в flutter

# #android #firebase #flutter #dart #firebase-cloud-messaging

Вопрос:

Я написал код некоторое время назад, теперь, когда я снова его использую, он показывает мне ошибку, в которой говорится, что configure она не определена. Может ли кто-нибудь отредактировать этот код, чтобы его можно было использовать в последней версии flutter? Я попытался изменить какой-то бит синтаксиса, который не может преобразовать код.

Код-

 _initFirebaseMessaging() {
    firebaseMessaging.configure(
      onMessage: (Map<String, dynamic> message) {
        print('AppPushs onMessage : $message');
        _showNotification(message);
        return;
      },
      onBackgroundMessage: Platform.isIOS ? null : myBackgroundMessageHandler,
      onResume: (Map<String, dynamic> message) {
        print('AppPushs onResume : $message');
        Navigator.pushNamed(context, message['data']['action']);

        return;
      },
      onLaunch: (Map<String, dynamic> message) {
        print('AppPushs onLaunch : $message');
        Navigator.pushNamed(context, message['data']['action']);

        return;
      },
    );
    // firebaseMessaging.requestNotificationPermissions(
    // const IosNotificationSettings(sound: true, badge: true, alert: true));
    firebaseMessaging.requestPermission(
      sound: true,
      alert: true,
      badge: true,
    );
  }
 

Комментарии:

1. Это удаляется при внесении изменений в новые версии пакетов. вы можете найти новые функции здесь firebase.flutter.dev/документы/обмен сообщениями/использование

Ответ №1:

Я думаю, что вы используете старый метод. Вот новый метод:

Моя версия пакета firebase_messaging-10.0.1.

 FirebaseMessaging.onMessage.listen((RemoteMessage message) {
      RemoteNotification notification = message.notification;
      showNotification(notification);
});

FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
      print("onMessageOpenedApp: $message");
});

FirebaseMessaging.onBackgroundMessage((RemoteMessage message) {
      print("onBackgroundMessage: $message");
});