【问题标题】:Flutter web with firebase notifications - subscribeToTopic带有 Firebase 通知的 Flutter Web - subscribeToTopic
【发布时间】:2021-02-22 09:15:49
【问题描述】:

我想在我的 Flutter Web 应用中接收 Firebase 通知。 我知道 firebase_messaging 包不适用于网络。 但是我已经管理配置我的应用程序以获取令牌,当 Web 应用程序处于后台时接收并显示消息,并在应用程序处于前台时接收(但尚未显示消息)。

我通过创建 JavaScript(和服务工作者)来做到这一点,如下所述:

https://medium.com/@rody.davis.jr/how-to-send-push-notifications-on-flutter-web-fcm-b3e64f1e2b76

https://firebase.google.com/docs/cloud-messaging/js/client

https://firebase.google.com/docs/cloud-messaging/js/receive

问题在于,到目前为止,我只设法将消息发送到“特定令牌”或“所有人”,而我需要将消息发送到“特定主题”。

云消息到特定主题的 JS 文档在此处继续: https://firebase.google.com/docs/cloud-messaging/js/topic-messaging

但问题是这部分代码不再像以前那样放在 index.html 文件中。 (可以是 node.js、java、python、Go 或 C#)

而且我不知道如何在我的颤振网络应用程序中实现它。有没有可能?

这是我想添加到我的 Flutter Web 应用中的部分:

【问题讨论】:

  • 在初步分析中,flutterfire 网站提到 Flutter Web 尚不支持云消息传递。检查here

标签: javascript firebase flutter firebase-cloud-messaging flutter-web


【解决方案1】:

用于 Firebase 云消息传递的 JavaScript SDK 不支持订阅主题,不幸的是,Flutter for web 也没有/不会拥有它。

这意味着网络应用不能像 Android 和 iOS 应用那样订阅主题。相反,对于 Web 应用程序,您必须使用服务器端 SDK 来订阅主题。

所以你需要:

  1. 创建一个自定义服务器端 API,该 API 使用其中一个 Admin SDK 或 REST API 将特定 FCM 设备令牌订阅到特定主题。此代码需要在受信任的环境中运行,例如您的开发机器、您控制的服务器或 Cloud Functions。
  2. 然后,您可以在 Flutter 应用程序中调用此自定义 API。

另见:

【讨论】:

  • 感谢您的帮助!它比我最初想象的要复杂,但我会试一试。
猜你喜欢
  • 1970-01-01
  • 2020-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-04
  • 2020-06-29
  • 2018-01-28
  • 2017-01-08
相关资源
最近更新 更多