具有FCM主题或设备组的Firebase最佳做法

时间:2019-01-07 22:10:50

标签: firebase google-cloud-messaging firebase-cloud-messaging

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

现在,如果某个艺术家发行了新作品,我想向所有关注它的用户发送通知。这是我唯一的选择:

  1. 对于每个用户,请执行以下操作:FCM发送用户令牌
  2. 为用户订阅每个“艺术家”主题(艺术家标识符),并向该主题发送有关艺术家标识符的通知
  3. 创建一个具有标识符(艺术家标识符)的设备组,并将用户添加到所有艺术家的设备组中。

每个选项的问题:

  1. 将为每个用户创建大量的发送承诺
  2. 需要订阅所有艺术家(没有subscribeToTopics功能,仅适用于单个主题)
  3. 与(2.)一样,需要为每个艺术家创建一个设备组,并将用户添加到每个艺术家中。

我通常会选择1.选项,而我想知道是否可以用1000个用户来完成(所以本质上是一次for循环1000次,每次创建一个发送承诺)。

我缺少向大型用户发送通知的任何东西,每个用户可能都有大量的组/主题?

谢谢

1 个答案:

答案 0 :(得分:1)

我肯定会为您的用例选择主题,它们是为此而专门设计的。尽管选项1也可行,但在这种情况下,自己管理订阅实在毫无意义。

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