在 Flutter 中使用 Firebase Messaging ^8.0.0-dev.8 收到通知时如何运行函数?

And*_*rej 13 push-notification android-notifications firebase flutter firebase-cloud-messaging

您好,我正在使用 Flutter 构建我的应用程序,每当收到新通知时,我都需要显示警报。
我一直在使用,firebase_messaging 7.0.3但我遇到了一个错误onBackgroundMessage。快速谷歌搜索帮助我发现我遇到的错误尚未修复。然而,其中一位开发人员在 20 天前发布了关于解决该问题的新版本软件包的更新。
新版本删除了旧的 onMessage 处理程序并引入了新的处理程序。现在他们获得了返回流的新事件处理程序,但无法通过使用该.listen()函数来触发它们 。每当我收到通知时,都会收到一个 this:D/FLTFireMsgReceiver(22032): broadcast received for message打印在控制台中,但.listen()没有执行中的代码。

是一篇关于 Firebase Flutter 的文章的链接,该文章是使用新版本软件包的指南。这是我的代码:

...
FirebaseMessaging.onMessage.listen((event) {
 // do something
});
FirebaseMessaging.onMessageOpenedApp.listen((event) {
 // do something
});
FirebaseMessaging.onBackgroundMessage((message) {
 // do something
 return;
 }
...
Run Code Online (Sandbox Code Playgroud)

Mic*_*sey 9

我发现让事件触发的解决方案是始终调用:

await FirebaseMessaging.instance.getToken();
Run Code Online (Sandbox Code Playgroud)

紧随其后

await Firebase.initializeApp();
Run Code Online (Sandbox Code Playgroud)

一旦我调用它,它FirebaseMessaging.onMessage.listen就会按预期捕获事件。