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

Push-уведомления на Android отправляются через [API Firebase Cloud Messaging (FCM)](https://firebase.google.com/docs/reference/fcm/rest).

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

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

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

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

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

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

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

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

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

  1. Перейдите на портал [Firebase](https://console.firebase.google.com/).

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

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

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

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

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

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

  1. Внесите ID Firebase-проекта, в котором зарегистрировано МП посетителя (клиентское мобильное приложение), в параметр `fcm_project_id`, расположенный в [настройках аккаунта](https://webim.ru/kb/for-admins/service-pages/account-config-editor.html) (для отправки push-уведомлений посетителям), или оставьте пустым, если МП посетителя не планируется использовать. ID проектов можно найти в JSON-файле в поле `project-id`.

---

Источник: https://webim.ru/kb/mobile/push-notifications/push-notifications-android.html
