Ваша серверная среда и FCM
Серверная часть Firebase Cloud Messaging состоит из двух компонентов:
- Бэкэнд FCM предоставлен Google.
- Ваш сервер приложений или другая доверенная серверная среда , в которой выполняется логика вашего сервера, например Cloud Functions for Firebase или другие облачные среды, управляемые Google.
Ваш сервер приложений или доверенная серверная среда отправляют запросы сообщений на серверную часть FCM , которая затем направляет сообщения клиентским приложениям, работающим на устройствах пользователей.
Требования к доверенной серверной среде
Ваша среда сервера приложений должна соответствовать следующим критериям:
- Возможность отправки правильно отформатированных сообщений-запросов в бэкэнд FCM .
- Возможность обработки запросов и повторной их отправки с использованием экспоненциальной задержки.
- Возможность безопасного хранения учетных данных авторизации сервера и токенов регистрации клиентов.
Выбор варианта сервера
Вам необходимо выбрать способ взаимодействия с серверами FCM : использовать Firebase Admin SDK или протокол RAW. Рекомендуемым способом является Firebase Admin SDK , поскольку он поддерживает популярные языки программирования и обеспечивает удобные методы аутентификации и авторизации.
Возможны следующие варианты взаимодействия с серверами FCM :
- Firebase Admin SDK , который поддерживает Node , Java , Python , C# и Go .
- FCM HTTP v1 API , REST API с безопасной авторизацией и гибкими возможностями кроссплатформенного обмена сообщениями ( Firebase Admin SDK основан на этом протоколе и предоставляет все присущие ему преимущества).
Firebase Admin SDK для FCM
API Admin FCM обеспечивает аутентификацию в бэкенде и упрощает отправку сообщений и управление подписками на темы. С помощью Firebase Admin SDK вы можете:
- Отправка сообщений на отдельные устройства
- Отправляйте сообщения по темам и условиям, которые соответствуют одной или нескольким темам.
- Подписывайтесь на темы и отписывайтесь от них на устройствах
- Создавайте полезную нагрузку сообщений, адаптированную для различных целевых платформ.
Admin Node.js SDK предоставляет методы для отправки сообщений группам устройств.
Чтобы настроить Firebase Admin SDK , см. раздел «Добавление Firebase Admin SDK на сервер» . Если у вас уже есть проект Firebase, начните с добавления SDK . Также убедитесь, что Cloud Messaging API включен на странице настроек Cloud Messaging для вашего проекта. После установки Firebase Admin SDK вы можете начать писать логику для создания запросов на отправку .
Протокол сервера FCM
FCM предоставляет API FCM HTTP v1 для разработчиков, предпочитающих необработанный серверный протокол.
Для отправки сообщения сервер приложений отправляет POST-запрос с HTTP-заголовком и HTTP-телом, состоящим из пар «ключ-значение» в формате JSON. Подробнее о параметрах заголовка и тела см. в разделе «Сборка запросов на отправку сервером приложений».