San*_*nti 6 push-notification flutter firebase-cloud-messaging
我有一个使用 firebase 消息传递 7.0.3 的应用程序,并且一切正常。但是当我迁移到 firebase 消息传递 9.0.0 时,没有处理推送通知。
我知道该应用程序已正确链接到 firebase 和云消息传递,因为在后台我看到推送通知即将到来,问题是当我单击该通知时,该应用程序不处理此事件。此外,当应用程序处于前台时,不会触发接收通知的事件。
具体来说,功能 FirebaseMessaging.onMessage 和 FirebaseMessaging.onMessageOpenedApp 不起作用。我的代码是:
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
print("notification: message");
});
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
print("notification: resume");
});
Run Code Online (Sandbox Code Playgroud)
打印永远不会被调用,如果我在里面放了更多的代码,也不会执行。
我也调用 FirebaseMessaging.getToken 并且我可以获得令牌,而且当应用程序在后台时我会收到推送通知,所以不是 firebase 的链接问题。在日志中,当我收到推送时,我可以看到一条消息:收到消息广播。所以我假设推送在所有情况下都会到达,并且我在代码中做错了。
我在 Android 和 iOS 物理设备上测试了所有案例。
有人知道为什么会这样吗?
小智 2
迁移并升级到 9.0.0 后,我遇到了完全相同的问题。
9.0.0 插件有一个小问题。可以在这里找到修复程序: https ://github.com/FirebaseExtended/flutterfire/issues/4949
长话短说,如果您
RemoteMessage.fromMap()使用Cmd+Click或Ctrl+Click(同时将鼠标悬停在 RemoteMessage 类上)导航到工厂的定义,则在 return 语句中将 , 更改contentAvailable: map['contentAvailable']为contentAvailable: map['contentAvailable']??false。
通知现在又对我有用了。在插件修复之前,这应该对您有用。
| 归档时间: |
|
| 查看次数: |
2457 次 |
| 最近记录: |