如何使用Firebase云消息传递向所有设备发送通知

时间:2016-07-18 01:37:08

标签: firebase push-notification firebase-cloud-messaging

在Firebase文档中,它始终具有带设备/令牌ID的“收件人”字段...但是如何让它将通知发送到所有设备。我应该用什么值替换to字段,或者用什么值替换它。我完全删除了它,但它返回时发出错误要求它。有什么想法吗?

{
   "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
   "data" : {
     "Nick" : "Mario",
     "body" : "great match!",
     "Room" : "PortugalVSDenmark"
   },
 }

3 个答案:

答案 0 :(得分:3)

您无法发送至"所有设备"。

相反,您可以在使用Firebase Cloud Messaging API时定位特定设备,一组设备或主题。或者,您可以在使用user segment时发送至specific deviceFirebase Notifications console或主题。

使用Firebase通知,您可以获得最接近,因为有一个默认用户细分,其中包含已安装特定应用的所有设备。因此,如果您有Android和iOS应用程序,那将是两个通知。但是还没有以编程方式发送给这样的观众(还)。

答案 1 :(得分:2)

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

FirebaseMessaging.getInstance().subscribeToTopic("TopicName");

所以你的信息应该是这样的:

  {
   "to"   : "/topics/TopicName",
   "data" : {
     "Nick" : "Mario",
     "body" : "great match!",
     "Room" : "PortugalVSDenmark"
   },
 }

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

单个主题中的用户数量不受限制。

答案 2 :(得分:0)

您可以使用Firebase控制台向所有设备发送通知。