FCM 主题或设备组的 Firebase 最佳实践

Firebase best practises with FCM topics or device groups

我想使用 FCM,但不确定哪个选项最适合我的情况。 本质上,我在数据库中有用户可以关注的艺术家,因此对于每个艺术家,我都有可变数量的用户关注它。

现在,如果一位艺术家发布了新东西,我想向所有关注它的用户发送通知。这是我唯一的选择:

  1. 对于每个用户执行:FCM 发送用户令牌
  2. 为每个 "artist" 主题(艺术家标识符)订阅一个用户,并向艺术家标识符
  3. 的主题发送通知
  4. 创建一个带有标识符(艺术家标识符)的设备组,并将用户添加到所有艺术家的设备组。

我对每个选项都有问题:

  1. 会创建大量发送承诺(针对每个用户)
  2. 需要订阅所有艺术家(没有 subscribeToTopics 功能,只有一个主题)
  3. 与 (2.) 相同,需要为每个艺术家创建一个设备组并将用户添加到每个设备组。

我通常会选择 1. 选项,我想知道它是否可以通过假设 1000 个用户来完成(因此本质上是一个 for 循环 1000 次并且每次都创建一个发送承诺)。

我是否遗漏了向一大群用户发送通知的内容,每个用户可能有大量的群组/主题?

谢谢

我肯定会为您的用例选择主题,它们几乎就是为此而制作的。虽然选项 1 也是可行的,但在这种情况下自行管理订阅感觉毫无意义。

如果您想让某人也订阅所有艺术家的新闻,请创建一个主题 all,然后将任何艺术家的新闻发送到 condition('The Beatles' in topics || 'all' in topics)