Push-уведомления

Push-уведомления доставляет сервис Google Firebase, поэтому для них нужен проект в Firebase и два его параметра в настройках решения. Ниже — весь путь от создания проекта до проверки.

Итог, к которому идём: в ASTDESIGN → МаркетПро → Настройки, вкладка Приложения и push, блок Push-уведомления, должны быть заполнены Firebase: Project number и Firebase: json файл приватного ключа.

Шаг 1. Создание проекта

Перейдите в Firebase Console https://console.firebase.google.com/ и нажмите Add project.


Укажите название проекта (для вашего удобства), поставьте галочку согласия и нажмите Continue.


Включите Google Analytics и нажмите Continue.


Выберите аккаунт Google Analytics (или добавьте новый) и нажмите Create project.


Подождите несколько секунд, пока проект создается.

Шаг 2. Создание Android приложения

На главном экране вашего проекта нажмите на логотип Android в блоке Get started by adding Firebase to you app.


Укажите идентификатор приложения, который вы указывали в capacitor.config.json. В нашем примере это ru.site.app.

Укажите название приложения, которое указывали в capacitor.config.json.

Нажмите Register app.


Скачайте сгенерированный файл google-service.json. Далее можете нажимать Next до завершения работы мастера, либо закрыть его нажав на крестик слева вверху.


Разместите скачанный файл в папке android/app вашего проекта.


Шаг 3. Создание iOS приложения

На главном экране вашего проекта нажмите Add app, затем на логотип iOS.



Укажите идентификатор приложения, который вы указывали в capacitor.config.json. В нашем примере это ru.site.app.

Укажите название приложения, которое указывали в capacitor.config.json.

Нажмите Register app.


Скачайте сгенерированный файл GoogleService-Info.plist. Далее можете нажимать Next до завершения работы мастера, либо закрыть его нажав на крестик слева вверху.


Разместите скачанный файл в папке ios/App/App (именно вложенная папка App) внутри вашего проекта.


Шаг 4. Добавление APN Authentication Key

Перейдите в кабинет разработчика Apple https://developer.apple.com/account и на главном экране нажмите Keys.


Нажмите на + (белый плюс на синем фоне) справа от заголовка Keys.


Укажите название ключа (ни на что не влияет - исключительно для вашего удобства), поставьте галочку напротив Apple Push Notifications Service (APNs) и нажмите Continue.


На следующем шаге нажмите Register.

Скачайте сгенерированный ключ и сохраните KeyID. Его нельзя восстановить! Если потеряете или забудете, необходимо будет создавать APN заново.


Перейдите обратно в Firebase Console в настройки проекта, который вы создали для iOS. Для этого нажмите на название проекта, а затем на шестерёнку.


В настройках перейдите на вкладку Cloud Messaging и в блоке APNs Authentication Key нажмите Upload для загрузки созданного ключа APN.


Во всплывающем окна загрузите ключ APN, который вы скачали в Apple Developer, укажите Key ID, который необходимо было сохранить, а также Team ID вашего аккаунта разработчика. После ввода всех данных нажмите Upload.

Team ID можно найти в разных местах. Например, на главной странице личного кабинета Apple Developer https://developer.apple.com/account в блоке Membership details. Скорее всего он будет вида ULR999999.


Шаг 5. Ключ Cloud Messaging API

На вкладке General скопируйте значение параметра Project number и укажите его в настройках решения в поле Firebase: Project number. После этого не забудьте внизу нажать Сохранить.


Далее вернитесь на вкладку Cloud Messaging и нажмите на ссылку Manage Service Accounts


На открывшейся странице нажмите на существующий аккаунт

Создайте новый ключ

В открывшемся окне выберите формат JSON и нажмите Create

После этого загрузится json файл. Этот файл нужно указать в настройках решения в поле Firebase: json файл приватного ключа.

Проверка

Отправьте пробное уведомление на своё устройство: соберите сегмент типа Пользователи, укажите в нём свой ID и отправьте рассылку — см. Push-рассылки и Сегменты.

Если уведомление не пришло, смотрите статистику рассылок: по ней видно, ушло ли сообщение и с какой ошибкой. Отдельные разборы — в FAQ push-рассылок.

Ещё два условия, без которых рассылка не двинется: работающий cron (задачи checkPushLetters, pushDevices, pushApnsTokens — см. «cron») и приложение, собранное с теми же данными Firebase, что указаны в настройках решения. Если ключ Firebase заменили, приложение нужно пересобрать и выпустить заново.