带有 firebase 通知的 Flutter web - subscribeToTopic

Flutter web with firebase notifications - subscribeToTopic

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

我通过创建 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

问题是到目前为止,我只设法将消息发送到 'a specific token' 或 'to everyone',我需要将消息发送到 'specific topic'。

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

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

而且我不知道如何在我的 flutter web 应用程序中实现它。有可能吗?

这是我想添加到我的 flutter web 应用程序中的部分:

Firebase Cloud Messaging 的 JavaScript SDK 不支持订阅主题,不幸的是 Flutter for web 也没有t/won。

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

所以你需要:

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

另见: