Firebase Cloud Messaging 无法在带有 Flutter 应用程序的 Android 上运行

Posted

技术标签:

【中文标题】Firebase Cloud Messaging 无法在带有 Flutter 应用程序的 Android 上运行【英文标题】:Firebase Cloud Messaging not working on Android with Flutter app 【发布时间】:2021-08-23 20:55:37 【问题描述】:

我有一个在 Firebase 中注册的适用于 iosandroid 的 Flutter 应用。根据https://firebase.flutter.dev/docs/messaging/overview/,FCM(推送通知)几乎是开箱即用的。 唉,它没有。

    我已将其添加到 pubspec.yaml。我实际上添加了firebase_messaging: ^7.0.3,因为任何更新的东西都会破坏其他依赖项。然后我转到 Firebase 控制台并发送一条针对我的 Android 注册应用程序的测试消息。一旦消息通过并说它已完成,我的模拟器就没有消息了。 我知道 iOS 上的 FCM 在模拟器上存在问题,但我没有读到任何关于它在 Android 上的案例。

    我在main 中添加了import 'package:firebase_messaging/firebase_messaging.dart'; 并实例化了 FirebaseMessaging messaging = FirebaseMessaging();,结果如上所示,即我的模拟器的通知中没有任何内容。

    最奇怪的是,我最初关注的是https://sebastianengel.medium.com/easy-push-notifications-with-flutter-and-firebase-cloud-messaging-d96084f5954f,它的参与度更高,我确实收到了第一个通知(原文如此!),但没有收到任何后续通知。我再次尝试从头开始执行此解决方案,但我的模拟器上的通知仍然无动于衷。

要记住的一点是,我很少使用其他 Firebase 服务,因此我知道我的应用已正确注册到 Firebase...除非我错过了一些额外的步骤并且看不到。

请任何人经历过同样的考验,并能查明我的盲点吗?谢谢。

更新 - 我检查了错误日志,它们是空的。

【问题讨论】:

implementation 'com.google.firebase:firebase-messaging' 你是否在应用程序的 gradle 文件中添加了这一行? 你没有收到错误日志吗? @kirsh 是的,在应用程序的 build.gradle 中 @kirshan 我在运行中没有收到任何错误 可以显示错误日志吗? 【参考方案1】:

您能发布更多信息吗?例如,当您发送通知时的控制台日志(也可以尝试使用基本打印语句进行故障排除),更好的是,发送可重现的 sn-p 代码,以便我可以重现您的问题。

还要确保在***函数中初始化通知处理(最好是 main)。

我很乐意与您合作,请通过 seanonuoha@gmail.com 与我联系,当我们解决问题时,您会在此处发布结果。

干杯

【讨论】:

【参考方案2】:

如果您按照this documentation 中的步骤操作,仍然没有收到任何消息或通知,您可以检查您的模拟器设置。 模拟器默认 SERIAL CONSOLE DISABLED。 滑动它并将其启用。 这个问题解决了我的问题。

如果您尝试过但仍然遇到问题。不要犹豫再问一次。

....

【讨论】:

以上是关于Firebase Cloud Messaging 无法在带有 Flutter 应用程序的 Android 上运行的主要内容,如果未能解决你的问题,请参考以下文章

Flutter Firebase Cloud Messaging onMessage 被触发两次

Google Cloud Messaging与Firebase

Firebase Cloud Messaging:Firebase Admin SDK 中的设备组发送支持

如何使用 Firebase Cloud Messaging 在前台显示多个通知

Firebase Cloud Messaging 无法在带有 Flutter 应用程序的 Android 上运行

如何使用 Firebase Cloud Messaging 向所有设备发送通知