Ваша серверная среда и FCM
Серверная часть Firebase Cloud Messaging состоит из двух компонентов:
- Бэкэнд FCM предоставлен Google.
- Ваш сервер приложений или другая доверенная серверная среда , в которой выполняется логика вашего сервера, например, Cloud Functions для 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. Подробнее о параметрах заголовка и тела см. в разделе Build App Server Send Requests