首页 文章

FCM(Firebase Cloud 消息传递)发送到多个设备组

提问于
浏览
1

从Firebase文档和StackOverflow问题,我了解到我们可以通过Topic MessagingDevice Group Messaging将推送通知发送到多个设备 . 但我想知道是否有办法在单个FCM发送请求中触发推送通知到多个设备组?

基本上,我不想为同一个推送通知消息调用多个请求 . 我有多个设备组的原因是因为数字成员(即)上有一个上限,而不是一个notification_key .

我不想将消息发布到主题的原因基本上是由于我的要求限制 . 我的要求是“我在后端生成了一些警报消息,同样只需要发送给少数用户( A user can log into multiple devices ),我可以预见的主题问题是我无法承担主题中的动态属性 .

如果有办法实现主题,请提出您的建议 .

4 回答

  • 0

    在阅读了这么多评论后,我不确定我是否正确地提出了您的问题,但根据我的理解,您需要的是 Multicast Messaging .

    您可以在fcm请求中指定 registration_ids 键,而不是指定 to 键 .

    registration_ids (字符串数组):

    此参数指定接收多播消息的设备列表(注册令牌或ID) . 它必须包含至少1个且最多1000个注册令牌 . 仅将此参数用于多播消息传递,而不是单个收件人 . 仅使用HTTP JSON格式允许多播消息(发送到多个注册令牌) .

    有关更多信息,请参阅this .

  • 0

    您需要在服务器端处理它 . 您可以使用firebase组设备通知 .

    对于第一个令牌,使用create operation创建通知密钥 . 对于令牌的其余部分,请使用添加操作添加到同一通知密钥 .

    注意 - 它限制为20个设备 . 如需参考以下链接 . https://developers.google.com/cloud-messaging/notifications

  • 5

    目前从我能理解的读取FCM文档时,他们不允许在单个请求中向多个设备组发送通知,就像他们使用 registration_ids 一样,因此我建议使用主题将用户分组,就像我们使用设备一样

    类似这样的事情当用户登录时,用户自己订阅了一个主题 userId 或用户的其他一些唯一标识符因此可以在同一个主题上找到相同的用户,该主题以 userId 命名 .

    不会有任何 registration_ids 限制(1-1000)所以如果你有超过1000个 registration_ids 发送请求这将有所帮助

  • 5

    看起来那些需要多播消息传递的人应该继续使用旧版API,直到发布v1的更新 . 资料来源:https://firebase.google.com/docs/cloud-messaging/migrate-v1Any apps that use device group messaging or multicast messaging, however, may prefer to wait for future versions of the API. HTTP v1 does not ...

相关问题