使用Flutter和FCM终止应用程序后,Android设备未收到通知消息

时间:2018-09-12 00:44:02

标签: android firebase-cloud-messaging flutter android-notifications

我正在使用Flutter开发应用程序,并且正在使用带有firebase_messaging Flutter插件的FCM实现推送通知:

https://pub.dartlang.org/packages/firebase_messaging

在此插件的Readme.md上说,当Android设备在终止应用程序时收到数据消息时,该消息将丢失,但是当设备收到通知消息时,该消息将显示在应用托盘,无论应用已终止还是仅在后台运行。

我已经实现了此插件,并且它不具有Readme.md描述的方式。应用终止后,通知消息在我的android设备上丢失。

这是我发送到设备的样本有效负载:

var payload = {
  notification: {
    title: `message from somebody`,
    body: `message text here`,
    }
}

我可能做错了什么?我是否在有效载荷中缺少某些东西,还是其他东西?

2 个答案:

答案 0 :(得分:1)

您是否尝试过使用Firebase控制台发送消息。使用Firebase控制台发送测试消息可能值得。 这样,您就可以消除有效载荷中存在错误的可能性。

要验证的另一件事是在应用程序中实现onMessage onResumeonLaunch,并且在消息中还包含click_action: FLUTTER_NOTIFICATION_CLICK的自定义数据键值对。

最后一件事是检查google-services.json是否放置在正确的文件夹android/app中,并检查android/build.gradleandroid/app/build.gradle是否正确修改。

我希望我能提供一点帮助。让我知道这是否有效。

答案 1 :(得分:0)

当应用在android中终止且仅在应用打开或在后台运行时,firebase_messaging软件包不支持数据消息接收。
关于在Android中终止应用程序时接收数据消息的说法:     插件不支持,消息丢失。
关于通知,通知将传递到系统托盘。用户单击它打开应用程序时,如果设置了click_action:FLUTTER_NOTIFICATION_CLICK,就会启动onLaunch。

看看接收消息中的那个表: https://pub.dartlang.org/packages/firebase_messaging#-readme-tab-