【问题标题】:How to send notifications to all devices using Firebase Cloud Messaging如何使用 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 push-notification firebase-cloud-messaging


【解决方案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 segmentspecific 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 控制台向所有设备发送通知。

    【讨论】:

    • 我找不到该选项。我可以发送到哪里。可以帮忙吗?
    猜你喜欢
    • 1970-01-01
    • 2016-09-22
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    • 2018-04-25
    • 2016-11-09
    相关资源
    最近更新 更多