43
votes

Comment configurer la messagerie Firebase avec la dernière version de Flutter?

J'utilisais la ligne de code ci-dessous pour la configuration de la messagerie Firebase pour la configuration de la notification Flutter, mais maintenant après l'intégration à la dernière version de la messagerie Firebase, il me donne une erreur

Ligne de code

error: The method 'configure' isn't defined for the type 'FirebaseMessaging'. 


3 commentaires

Pourriez-vous s'il vous plaît publier l'intégralité du code que vous utilisez pour configurer la messagerie Firebase.


Quelle version de la messagerie Firebase utilisez-vous?


Le dernier `Firebase_Messaging ^ 8.0.0-Dev.10` de Flutterfire Link firebase.flutter.dev/docs / migration


4 Réponses :



101
votes

firebasemessaging.configure () est supprimé par l'équipe Firebase:

Raison: L'implémentation précédente de configure () a provoqué des effets secondaires involontaires s'ils sont appelés plusieurs fois (soit d'enregistrer un gestionnaire différent, soit de supprimer les gestionnaires). Cette modification permet aux développeurs d'être plus explicites sur l'enregistrement des gestionnaires et les supprimer sans affecter les autres via des flux.

Utiliser Firebasemessaging.onMessage pour obtenir des messages

FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
      print('A new onMessageOpenedApp event was published!');
      Navigator.pushNamed(context, '/message',
          arguments: MessageArguments(message, true));
    });

Utiliser FirebaseMessaging.onMessageOpenedApp en remplacement de onlaunch et ONRESUME Handlers.

FirebaseMessaging.onMessage.listen((RemoteMessage message) {
      RemoteNotification notification = message.notification;
      AndroidNotification android = message.notification?.android;
    });


4 commentaires

J'ai recherché une explication claire pendant 2 heures et la trouvais ici au lieu des documents et modifie les journaux


Merci. Cette réponse doit être marquée comme la réponse vérifiée.


Mais cela montre automatiquement la notification push dans iOS même si vous voulez éviter dans un scénario. Veuillez guider


Où devons-nous mettre ce code pour qu'il s'exécute chaque fois que l'utilisateur démarre l'application?



20
votes

En s'appuyant sur la réponse de Jitesh, pour moi l'implémentation de getInitialMessage est nécessaire pour que la navigation fonctionne lorsque l'application est terminée (remplacement de la monnaie) xxx


5 commentaires

Explication parfaite pour les anciens utilisateurs! Maintenant j'ai le OnMessageOpenedApp


Merci, je ne trouve pas ces informations nulle part


S'il vous plaît après l'impression message.data Cela me donne une carte vide, je ne sais pas pourquoi


@Samuel envoyez-vous les données à l'intérieur du Notification en charge utile ? Essayez d'imprimer Message.Notification pour valider si vous traitez la notification


S'il vous plaît, GetInitialMessage Renvoie un message nul lorsque je clique sur la notification lorsque l'application est fermée, savez-vous pourquoi?



0
votes

mis à jour:

FirebasemessagingService est important pour commencer au début de l'application. Et pour cela, vous devez suivre ceci: Déclarez d'abord cette fonction:

FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
      print('A new onMessageOpenedApp event was published!');
      Navigator.pushNamed(context, '/message',
          arguments: MessageArguments(message, true));
    });

et appelez cette fonction dans le main () {} de l'application:

FirebaseMessaging.onMessage.listen((RemoteMessage message) {
      RemoteNotification notification = message.notification;
      AndroidNotification android = message.notification?.android;
    });

et Ensuite, vous pourrez utiliser ces fonctions:

Firebasemessaging.onMessage pour obtenir des messages

 FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);

Firebasemessaging .onMessageOpenedApp en remplacement des gestionnaires de monnaie.


0 commentaires