Получение push-уведомлений на Android
Push-уведомления на Android отправляются через API Firebase Cloud Messaging (FCM).
C июня 2024 года Google прекращает поддержку устаревшего FCM Legacy HTTP Server Protocol в пользу актуального FCM HTTP v1 API.
Основные изменения:
-
Смена эндпоинта
Старый эндпоинт:
https://fcm.googleapis.com/fcm/sendНовый эндпоинт:
https://fcm.googleapis.com/v1/projects/{project_id}/messages:sendГде
{project_id}— это ID вашего проекта. -
Токен авторизации
Теперь для авторизации серверного кода при отправке сообщений через FCM API v1 требуется использовать ключи доступа
OAuth2вместоServer key.
Чтобы настроить отправку push-уведомлений через Firebase Cloud Messaging API, выполните следующие шаги:
-
Авторизуйтесь в аккаунте Google.
-
Перейдите на портал Firebase.
-
Выберите необходимый проект, а если его нет, создайте его (нажав Add Project и выполнив несложные действия по инструкции, отображаемой на экране) и добавьте в него ваше Android-приложение.
-
Перейдите в консоль Firebase и откройте Settings > Service Accounts.
-
Нажмите Generate New Private Key и подтвердите создание ключа. Ключ будет сохранен на вашем устройстве в формате JSON.
-
Для отправки push-уведомлений операторам храните JSON-файл, содержащий
private key, по следующему пути:/etc/webim/fcm/service-accounts/<любое название>.json. -
Для отправки push-уведомлений посетителям храните JSON-файл, содержащий
private key, по следующему пути:<client-data-dir>/<account_name>/fcm/service-accounts/<любое название>.json, гдеclient-data-dir- путь, указанный в конфигурационном файле main.ini, аaccount_name- название вашего аккаунта. -
Внесите ID Firebase-проекта, в котором зарегистрировано МП оператора, в параметр
fcm_agent_project_id, расположенный в main.ini (для отправки push-уведомлений операторам), или оставьте пустым, если МП оператора не планируется использовать. -
Внесите ID Firebase-проекта, в котором зарегистрировано МП посетителя (клиентское мобильное приложение), в параметр
fcm_project_id, расположенный в настройках аккаунта (для отправки push-уведомлений посетителям), или оставьте пустым, если МП посетителя не планируется использовать. ID проектов можно найти в JSON-файле в полеproject-id.