Лучшие практики Firebase с темами FCM или группами устройств - PullRequest
0 голосов
/ 08 января 2019

Я хочу использовать FCM и не уверен, какой вариант лучше всего подойдет для моей ситуации. По сути, у меня есть художники в базе данных, за которыми могут следить пользователи, поэтому для каждого исполнителя у меня есть переменное число пользователей, которые следуют за ним.

Теперь, если художник выпускает что-то новое, я хочу отправить уведомление всем пользователям, которые следуют за ним. И вот мои единственные варианты:

  1. Для каждого пользователя: FCM отправлять с токеном пользователя
  2. Подписка пользователя на каждую тему "исполнителя" (идентификатор исполнителя) и отправка уведомления на тему идентификатора исполнителя
  3. Создайте группу устройств с идентификатором (идентификатором исполнителя) и добавьте пользователя в группы устройств для всех исполнителей.

Проблемы с каждым из вариантов:

  1. Создает большое количество посылок (для каждого пользователя)
  2. Нужно подписаться на всех исполнителей (функциональность subseToTopics отсутствует, только для одной темы)
  3. Аналогично (2.) потребуется создать группу устройств для каждого исполнителя и добавить пользователя к каждому из них.

Обычно я выбираю вариант 1. и мне было интересно, можно ли это сделать, скажем, 1000 пользователей (так что, по сути, цикл for 1000 раз, и каждый создает обещание отправки).

Есть ли что-то, чего мне не хватает для отправки уведомлений большой группе пользователей, у каждого из которых может быть большое количество групп / тем?

Спасибо

1 Ответ

0 голосов
/ 08 января 2019

Я бы определенно выбрал темы для вашего варианта использования, они в значительной степени созданы для этого. Хотя вариант 1 также возможен, в этом случае просто кажется бессмысленным управлять подписками.

Если вы хотите, чтобы кто-то также подписывался на новости обо всех артистах, создайте тему all, а затем отправьте новости о любом артисте в состояние : ('The Beatles' in topics || 'all' in topics).

...