# Мобильные пуши

Для того, чтобы рассылать мобильные пуши, необходимо предварительно выполнить ряд настроек.

# iOS

# Создание и загрузка сертификатов

Для отправки уведомлений в приложение iOS, необходимо сгенерировать сертификаты и загрузить их в платформу.

Тестовый режим

В Apple различаются боевой и тестовый режимы, а также сертификаты для них. Если вы только собираетесь тестировать отправку уведомлений, сгенерируйте сертификат для песочницы (sandbox) и включите тестовый режим в настройках мобильных пушей в платформе (об этом ниже). При переходе в боевой режим необходимо загрузить production сертификат и переключить платформу в боевой режим.

Примерная последовательность действий:

  1. Сгенерировать CSR-файл.
  2. С его помощью получить сертификат в developer.apple.com.
  3. Загрузить сертификат в настройках платформы.

# Сгенерировать CSR

На вашем MacOS устройстве запустите программу Keychain Access. Обычно она находится в /Applications/Utilities.

Откройте меню Keychain Access и выберите в нем Certificate Assistant > Request a Certificate from a Certificate Authority.

В открывшемся окне укажите email и имя. Из важного:

  1. Выберите переключатель Saved to disk
  2. Обязательно нажмите чекбокс Let me specify key pair information

Важно

Если не нажмете чекбокс, вам будет сгенерирован CSR в формате sha1, а этого недостаточно требованиям безопасности Apple при отправке пуша. И при попытке отправить сообщение, Apple будет возвращать ошибку SSL_CTX_use_certificate: ca md too week.

Нажмите Continue, в следующем окне выберите, куда сохранить файл, нажмите Save и в очередном окне выберите уровень безопасности:

  • Algorithm: RSA
  • Key Size: 2048

Нажмите Continue. Конец.

# Получить сертификат от Apple

Теперь, когда у вас есть файл запроса сертификата с указанными требованиями к безопаности, нужно получить сам сертификат.

  1. Заходите в developer.apple.com. Авторизуйтесь своим аккаунтом разработчика.
  2. Переходите в раздел Certificates, Identifiers & Profiles.
  3. Выбирайте слева меню Certificates.
  4. Рядом с заголовком нажмите кнопку [+]

  1. В новом окне выберите Apple Push Notification service SSL (Sandbox) и кнопку Continue.

  1. В новом окне выберите платформу iOS и ваше приложение из списка.

  1. В следующем окне загрузите свой CSR файл. Нажмите кнопку Continue.

  1. В следующем окне вы увидите подтверждение получения сертификата. Нажмите кнопку Download, чтобы скачать его.

# Генерация сертификата .p12

  1. Выполните двойной клик на скачанный файл сертификата.
  2. Запустится приложение Keychain Access и в секции My certificates вы найдете только что созданный и добавленный сертификат.
  3. Вызовите контекстное меню, кликнув по строке с сертификатом правой кнопкой мыши.

  1. В появившемся окне укажите пароль. Не забудьте его, он потребуется в следующей секции.
  2. Файл Certificates.p12 (имя по-умолчанию) будет сохранен.

# Загрузите сертификат в платформу

  1. Перейдите в Настройки > Настройки email/push.
  2. Найдите виджет Настройка mobile push уведомлений.
  3. Переключите чекбокс Режим песочницы в Apple в режим включено.
  4. Загрузите файл сертификата Certificates.p12, полученный на предыдущем этапе.
  5. Укажите пароль из предыдущего раздела.
  6. И нажмите Сохранить.

Все, предварительная настройка для тестового режима отправки пуш уведомлений в iOS настроена.

Не забудьте

Не забудьте после тестирования загрузить сертификат для Production mode и отключить режим песочницы.