在Firebase文档中,它始终具有带设备/令牌ID的“收件人”字段...但是如何让它将通知发送到所有设备。我应该用什么值替换to字段,或者用什么值替换它。我完全删除了它,但它返回时发出错误要求它。有什么想法吗?
{
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data" : {
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
},
}
答案 0 :(得分:3)
您无法发送至"所有设备"。
相反,您可以在使用Firebase Cloud Messaging API时定位特定设备,一组设备或主题。或者,您可以在使用user segment时发送至specific device,Firebase 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控制台向所有设备发送通知。