如何使用 Firebase Cloud Messaging 向所有设备发送通知
Posted
技术标签:
【中文标题】如何使用 Firebase Cloud Messaging 向所有设备发送通知【英文标题】:How to send notifications to all devices using Firebase Cloud Messaging 【发布时间】:2016-07-18 01:37:07 【问题描述】:在 Firebase 文档中,它始终有一个带有设备/令牌 ID 的“to”字段......但我怎样才能让它向所有设备发送通知。我用什么替换 to 字段,或者我在那里输入什么值。我已经完全删除了它,但它返回时出现错误要求它。有什么想法吗?
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data" :
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
,
【问题讨论】:
您可以使用 Firebase 控制台向所有设备发送通知。 您可以发送设备到设备通知,请参阅***.com/questions/37435750/… 【参考方案1】:正如 Frank van Puffelen 所说,没有办法发送到所有设备。 您可以使用以下方式在应用程序端为每个人订阅一个主题:
FirebaseMessaging.getInstance().subscribeToTopic("TopicName");
所以你的信息应该是这样的:
"to" : "/topics/TopicName",
"data" :
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
,
主题是在 Firebase 服务器端自动创建的,但有时需要一段时间才能显示在 Firebase 下拉列表中。
单个主题的用户数不限。
【讨论】:
【参考方案2】:您不能发送到“所有设备”。
相反,您可以在使用Firebase Cloud Messaging API 时定位特定设备、一组设备或一个主题。或者,您可以发送到user segment、specific device 或使用Firebase Notifications console 时的主题。
借助 Firebase 通知,您可以获得最接近的信息,因为默认用户细分包括安装了特定应用的所有设备。因此,如果您有一个 android 应用程序和一个 ios 应用程序,那将是两个通知。但是(目前)还没有程序化的方式可以发送给这样的受众。
【讨论】:
您可以使用 registration_ids 字段一次发送 1000 个令牌,因此您可以发送尽可能多的请求,以 1000 个批量发送给所有用户。 正确的@ArthurThompson,但这意味着你必须有一个令牌列表。 “所有设备”没有主要受众(据我所知)。 正确,REST API 中没有“所有设备”目标。 如何向所有 Android 用户发送通知?在 Firebase 控制台中,您可以选择 android 应用用户作为通知的目标,但我无法通过 API 执行相同操作。简单地设置"to":"com.myapp"
是不行的。
目前没有用于 Firebase 通知的 API,但我们正在考虑根据您的请求添加一个。目前,发送给所有用户的最佳选择是为所有设备订阅某个主题,或者将所有令牌发送到服务器,然后使用这些令牌发送给所有用户。【参考方案3】:
您可以使用 Firebase 控制台向所有设备发送通知。
【讨论】:
我找不到该选项。我可以发送到哪里。可以帮忙吗?以上是关于如何使用 Firebase Cloud Messaging 向所有设备发送通知的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PHP 在 Firebase 中自动导入存储桶 - Google Cloud Storage
如何使用 Firebase Cloud Messaging 在前台显示多个通知
如果用户长时间没有写入,如何使用 Firebase Cloud Functions 在 Firebase 数据库中设置节点的值?
如何使用 Firebase Cloud Messaging 向所有用户发送数据负载?
上传到 Firebase 存储时如何使用 Cloud Functions for FIrebase 获取 mp3 文件的持续时间