在Firebase Cloud Messaging中计算主题的订阅者数量

13

我想要实现的应用程序功能是:用户可以选择不同的兴趣,只要有超过5个人对同一个内容感兴趣,我就想给他们发送通知。

我认为Firebase + Topics会是一个不错的选择。

但是,我该如何找出订阅主题的人数呢?


3个回答

16

目前没有可用的API来检查一个主题有多少订阅者。 (请参见我的答案此处

您需要在服务器端实现映射,保存主题名称并将其添加到订阅者列表中。 订阅时,请添加新的订阅者,检查计数(查看是否符合您的首选数字),然后触发通知。


3
三年前的回答是否仍然适用? :) - Okan Kocyigit
2
在某些情况下,服务器端解决方案几乎是不可能的。 - Mohammad Ali Akbari
@rolinger 我认为这个问题没有一步解决方案。然而,我想到的一个解决方案是再次获取所有设备ID,获取相应的令牌,使用Instance ID API检查它们订阅的主题列表,然后根据需要订阅新主题。这可能会很昂贵,具体取决于您需要“迁移”的数量。干杯! - AL.
1
@TranHo 是的。目前还没有可用的API。 - AL.
1
@MadMac 我已经有一段时间没有涉足 FCM 了,但是我迄今为止还没有听说过任何更新。干杯! - AL.
显示剩余9条评论

6

您可以使用这个方法来获取订阅者数量:

将其复制为curl。使用它来获取订阅列表 enter image description here

参考资料: https://gist.github.com/timrijckaert/218be90541a7285e21455fafa2962dea


1

没有直接的方法可以做到这一点。您唯一的两个选择是:

  1. 在自己的数据库中使用存储的设备ID,手动编写脚本以检索每个用户的订阅。
  2. 已经在自己的数据库中跟踪每个用户的设备ID和他们订阅的每个主题。

但是这两种方法都存在很多问题。令人沮丧的是,在FCM控制台中还不存在主题管理功能。我向Google提交了FCM云通知主题管理的功能请求,并收到了以下回复:

我们知道许多开发人员,例如您自己,希望拥有此主题管理功能。实际上,已经存在关于此的功能请求。但是,我无法提供任何详细信息或时间表,以便何时可以使用此功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接