Подтвердить что ты не робот

Как создать тему в уведомлениях FCM

Я пытаюсь использовать Firebase-Notification API, сервис отлично работает, когда я отправляю нисходящее сообщение с консоли на приложение, но как отправить сообщение теме зарегистрированных пользователей?

я сделал на стороне android

FirebaseMessaging.getInstance().subscribeToTopic("TopicName");

но когда я попытаюсь отправить нисходящее сообщение из консоли в тему, он говорит

This project does not have any topics

ИЗМЕНИТЬ: я выяснил, что после сопоставления темы для отображения в Firebase Console требуется до 1 дня.

4b9b3361

Ответ 1

Во-первых, учитывая, что IID_TOKEN - ваш токен регистрации, а TOPIC_NAME - это тема, которую вы хотите создать, вам нужно создать тему, выполнив POST запрос

https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME

И чтобы проверить созданные темы, сделайте запрос GET по этому URL

 https://iid.googleapis.com/iid/info/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA?details=true

и вставьте свой API_KEY в HEADERS вашего запроса

Authorization: key=YOUR_API_KEY

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

Ответ 2

Это альтернативный путь.

Если вы подписываете клиентское приложение на неиспользуемую тему, то тема также будет создана без вызова любого запроса URL-адреса firebase.

В Firebase Console также появится несколько часов.

Используя общий пример google: https://github.com/firebase/quickstart-android/tree/master/messaging, вы можете подтвердить то же самое.

        FirebaseMessaging.getInstance().subscribeToTopic("news");
        Log.d(TAG, "Subscribed to news topic");

Ответ 3

Firebase требует времени для создания новой темы в консоли. В моем случае новая тема была создана через 4 часа.

Ответ 4

Вы можете создать тему с помощью http api:

https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME

1. IID_TOKEN= токен регистрации устройства, вы можете найти его с помощью следующей команды на вашем устройстве Android:

String IID_TOKEN = FirebaseInstanceId.getInstance().getToken();

2.TOPIC_NAME= новое имя темы

3.Authorization: key = YOUR_API_KEY. Задайте этот параметр в заголовке. Посмотрите на скриншот: Создание новой темы через Advanced rest client

YOUR_API_KEY: console.firebase.google.com

и отправьте запрос, и вы получите http-статус "ОК".

Затем вы можете получить информацию обо всех ваших темах в своем текущем проекте со следующими api:

https://iid.googleapis.com/iid/info/IID_TOKEN?details=true

здесь нужно добавить ключ авторизации в заголовок запроса, и вы получите список тем: темы с ответами

Я рекомендую прочитать эту статью об идентификаторе/сервере экземпляра Google