Как отправлять уведомления Firebase аудитории через HTTP

В Firebase Console я настраивал аудиторию на основе различных пользовательских свойств и теперь могу отправлять уведомления в различные пользовательские сегменты через консоль. Есть ли способ сделать то же самое с помощью http-запросов к fcm-серверам? Должен быть трюк с полем "to", но я не мог понять это.

5 ответов

пожарный здесь

В настоящее время нет способа отправить уведомление пользовательскому сегменту программно. Это можно сделать только из консоли Firebase, как вы уже нашли.

Мы знаем, что разрешение этого через API значительно расширит возможности для уведомлений Firebase. Поэтому мы рассматриваем возможность добавления его в API. Но как обычно: никаких обязательств и сроков, поскольку они меняются по мере изменения приоритетов.

Вы можете попробовать с темой подписки. Это не идеальное решение, но лучшее для меня в настоящее время.

{
  "to": "/topics/audience1_subscription"
  "data" : {
     "title" : "Sample title",
     "body" : "Sample body"
   },
 }

Это был популярный запрос, но, к сожалению, это пока невозможно. Мы смотрим на это. Пожалуйста, проверьте анонсы Firebase Cloud Messaging на наличие обновлений в будущем.

Да. На данный момент нет надежных решений, но у меня есть обходное решение. Который не может справиться с каждым сценарием, но он выполнит свою работу.

Для этого вам нужно выяснить аудиторию внутри приложения и сегментировать ее по темам. Затем вы можете отправить push-уведомление для этой конкретной темы через API.

Возьмем пример.

Отправляйте уведомления пользователям, которые не открывали приложение за последние 7 дней.

Подпишитесь на тему с названием "app-open?date=09-21-2022"

каждый раз, когда пользователь открывает приложение. Просто отпишитесь от темы последнего открытого приложения и подпишитесь на новую тему с текущей датой. Затем вам просто нужно построить строку темы на основе текущего дня - 7 для отправки.

И вы можете создать несколько тем для одного и того же пользователя с разным поведением и использовать их в качестве тем для отправки push-уведомлений через API сегментированным пользователям.

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

Да. С полем "to" есть трюк, как упомянуто ниже.

URL-адрес: https://fcm.googleapis.com/fcm/send

Тип содержимого: application/json

Авторизация: key="YOUR_SEVER_KEY"

ФОРМАТ ДАННЫХ JSON:

{"to": "USER_FIREBASE_TOKEN",

"data": {"message": "This is a Firebase Cloud Messaging Topic Message",}

"notification": {"body": "This is firebase body",}}";
Другие вопросы по тегам