Перейти к содержанию

Получение push-уведомлений на Android

Push-уведомления на Android отправляются через API Firebase Cloud Messaging (FCM).

C июня 2024 года Google прекращает поддержку устаревшего FCM Legacy HTTP Server Protocol в пользу актуального FCM HTTP v1 API.

Основные изменения:

  1. Смена эндпоинта

    Старый эндпоинт: https://fcm.googleapis.com/fcm/send

    Новый эндпоинт: https://fcm.googleapis.com/v1/projects/{project_id}/messages:send

    Где {project_id} — это ID вашего проекта.

  2. Токен авторизации

    Теперь для авторизации серверного кода при отправке сообщений через FCM API v1 требуется использовать ключи доступа OAuth2 вместо Server key.

Чтобы настроить отправку push-уведомлений через Firebase Cloud Messaging API, выполните следующие шаги:

  1. Авторизуйтесь в аккаунте Google.

  2. Перейдите на портал Firebase.

  3. Выберите необходимый проект, а если его нет, создайте его (нажав Add Project и выполнив несложные действия по инструкции, отображаемой на экране) и добавьте в него ваше Android-приложение.

  4. Перейдите в консоль Firebase и откройте Settings > Service Accounts.

  5. Нажмите Generate New Private Key и подтвердите создание ключа. Ключ будет сохранен на вашем устройстве в формате JSON.

  6. Для отправки push-уведомлений операторам храните JSON-файл, содержащий private key, по следующему пути: /etc/webim/fcm/service-accounts/<любое название>.json.

  7. Для отправки push-уведомлений посетителям храните JSON-файл, содержащий private key, по следующему пути: <client-data-dir>/<account_name>/fcm/service-accounts/<любое название>.json, где client-data-dir - путь, указанный в конфигурационном файле main.ini, а account_name - название вашего аккаунта.

  8. Внесите ID Firebase-проекта, в котором зарегистрировано МП оператора, в параметр fcm_agent_project_id, расположенный в main.ini (для отправки push-уведомлений операторам), или оставьте пустым, если МП оператора не планируется использовать.

  9. Внесите ID Firebase-проекта, в котором зарегистрировано МП посетителя (клиентское мобильное приложение), в параметр fcm_project_id, расположенный в настройках аккаунта (для отправки push-уведомлений посетителям), или оставьте пустым, если МП посетителя не планируется использовать. ID проектов можно найти в JSON-файле в поле project-id.