如果应用程序未启动,Flutter Firebase 推送通知无法数据

Posted

技术标签:

【中文标题】如果应用程序未启动,Flutter Firebase 推送通知无法数据【英文标题】:Flutter Firebase Push Notification unable to data if app is not launched 【发布时间】:2021-07-31 05:50:48 【问题描述】:

我正在为我的代码使用 Flutter。对于推送通知,我使用的是 Firebase 推送通知(“firebase_messaging”版本 9.1.3)。

我面临以下问题:

我能够从服务器接收 androidios 的推送通知。 如果我已启动应用程序然后将应用程序置于后台,当我从主屏幕单击通知消息时,我的应用程序将启动(从后台)并且我能够提取有效负载数据。 如果我没有启动应用程序,当我从主屏幕单击通知消息时,我的应用程序将加载,但我无法提取有效负载数据。

以下是我监听消息的代码(参考 Flutter 示例)。

FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) 
  //Process received message 
  _processMessage(message);
);

如果应用全新启动,我还缺少什么让应用能够接收通知负载。

【问题讨论】:

【参考方案1】:

据我所知,onMessageOpenedApp 仅在应用从后台状态启动时触发。

为了在从终止状态启动时接收通知负载,您必须使用getInitialMessage() 方法。

更多信息请见here。

【讨论】:

我刚刚检查了这个,它可以工作。感谢您指出这一点。

以上是关于如果应用程序未启动,Flutter Firebase 推送通知无法数据的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:动态链接未启动应用程序

Flutter:Flutter Firebase Crashlytics 未针对 iOS 显示

即使在重新启动 IDE 后,FLUTTER 中的未定义名称“http”

Flutter:Google Maps 如何从 Firestore 设置图标

Flutter - 仅在添加到现有应用程序时启动时缺少插件

Flutter - 使用 google_sign_in 库时未找到 <Flutter/Flutter.h>