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

Mr *_*nes 5 push-notification firebase firebase-cloud-messaging

在 Firebase 文档中,它总是有一个带有设备/令牌 ID 的“to”字段......但是我怎样才能让它向所有设备发送通知。我用什么替换 to 字段,或者我在那里放了什么值。我已经完全删除了它,但它返回一个错误要求它。有任何想法吗?

{
   "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
   "data" : {
     "Nick" : "Mario",
     "body" : "great match!",
     "Room" : "PortugalVSDenmark"
   },
 }
Run Code Online (Sandbox Code Playgroud)

小智 7

正如 Frank van Puffelen 所说,没有办法发送到所有设备。您可以做的是使用以下命令为每个人订阅应用程序端的单个主题:

FirebaseMessaging.getInstance().subscribeToTopic("TopicName");
Run Code Online (Sandbox Code Playgroud)

所以你的消息看起来像这样:

  {
   "to"   : "/topics/TopicName",
   "data" : {
     "Nick" : "Mario",
     "body" : "great match!",
     "Room" : "PortugalVSDenmark"
   },
 }
Run Code Online (Sandbox Code Playgroud)

该主题是在 Firebase 服务器端自动创建的,但有时需要一段时间才能显示在 Firebase 下拉列表中。

单个主题的用户数量没有限制。


Fra*_*len 3

您无法发送到“所有设备”。

相反,您可以在使用Firebase Cloud Messaging API时定位特定设备、一组设备或一个主题。或者,您可以在使用Firebase 通知控制台时发送到用户群特定设备或主题。

借助 Firebase 通知,您可以获得最接近的结果,因为默认用户细分包括安装了特定应用的所有设备。因此,如果您有 Android 和 iOS 应用程序,那么这将是两个通知。但目前还没有任何程序化的方式可以向这样的受众发送信息。