Ваша серверная среда и FCM
Серверная часть Firebase Cloud Messaging состоит из двух компонентов:
- Серверная часть FCM предоставлена Google.
- Ваш сервер приложений или другая доверенная серверная среда , в которой работает логика вашего сервера, например облачные функции для Firebase или другие облачные среды, управляемые Google.
Ваш сервер приложений или среда доверенного сервера отправляет запросы сообщений на серверную часть FCM , которая затем направляет сообщения клиентским приложениям, работающим на устройствах пользователей.
Требования к среде доверенного сервера
Среда вашего сервера приложений должна соответствовать следующим критериям:
- Возможность отправлять запросы сообщений в правильном формате на серверную часть FCM .
- Способен обрабатывать запросы и повторно отправлять их с использованием экспоненциальной задержки.
- Возможность безопасного хранения учетных данных для авторизации сервера и токенов регистрации клиентов.
Выбор варианта сервера
Вам нужно будет решить, как взаимодействовать с серверами FCM : либо с помощью Firebase Admin SDK , либо с использованием необработанного протокола. Из-за поддержки популярных языков программирования и удобных методов аутентификации и авторизации рекомендуется использовать Firebase Admin SDK .
Варианты взаимодействия с серверами FCM включают следующее:
- Firebase Admin SDK , который поддерживает Node , Java , Python , C# и Go .
- API FCM HTTP v1 — 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. Подробные сведения о параметрах заголовка и тела см. в разделе Создание запросов на отправку сервера приложений.