# Мобильные пуши
Для того, чтобы рассылать мобильные пуши, необходимо предварительно выполнить ряд настроек.
# iOS
# Создание и загрузка сертификатов
Для отправки уведомлений в приложение iOS, необходимо сгенерировать сертификаты и загрузить их в платформу.
Тестовый режим
В Apple различаются боевой и тестовый режимы, а также сертификаты для них.
Если вы только собираетесь тестировать отправку уведомлений, сгенерируйте сертификат для песочницы (sandbox) и включите тестовый режим в настройках мобильных пушей в платформе (об этом ниже).
При переходе в боевой режим необходимо загрузить production сертификат и переключить платформу в боевой режим.
Примерная последовательность действий:
- Сгенерировать CSR-файл.
- С его помощью получить сертификат в
developer.apple.com. - Загрузить сертификат в настройках платформы.
# Сгенерировать CSR
На вашем MacOS устройстве запустите программу Keychain Access. Обычно она находится в /Applications/Utilities.
Откройте меню Keychain Access и выберите в нем Certificate Assistant > Request a Certificate from a Certificate Authority.

В открывшемся окне укажите email и имя. Из важного:
- Выберите переключатель
Saved to disk - Обязательно нажмите чекбокс
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
Теперь, когда у вас есть файл запроса сертификата с указанными требованиями к безопаности, нужно получить сам сертификат.
- Заходите в
developer.apple.com. Авторизуйтесь своим аккаунтом разработчика. - Переходите в раздел
Certificates, Identifiers & Profiles. - Выбирайте слева меню
Certificates. - Рядом с заголовком нажмите кнопку
[+]

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

Важно
Для отправки пушей в production приложении используйте тип Apple Push Notification service SSL (Sandbox & Production). Для тестовой версии приложения вы можете сгенерировать отдельный сертификат Apple Push Notification service SSL (Sandbox). Главное: не перепутать их местами при загрузке в платформу.
- В новом окне выберите платформу
iOSи ваше приложение из списка.

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

- В следующем окне вы увидите подтверждение получения сертификата. Нажмите кнопку
Download, чтобы скачать его.
# Генерация сертификата .p12
- Выполните двойной клик на скачанный файл сертификата.
- Запустится приложение
Keychain Accessи в секцииMy certificatesвы найдете только что созданный и добавленный сертификат. - Вызовите контекстное меню, кликнув по строке с сертификатом правой кнопкой мыши.

- В появившемся окне укажите пароль. Не забудьте его, он потребуется в следующей секции.
- Файл
Certificates.p12(имя по-умолчанию) будет сохранен.
# Загрузите сертификат в платформу
- Перейдите в
Настройки > Настройки email/push. - Найдите виджет
Настройка mobile push уведомлений. - Загрузите файл сертификата
Certificates.p12, полученный на предыдущем этапе. - Укажите пароль из предыдущего раздела.
- И нажмите
Сохранить.

Тестовый сертификат
Если у вас есть отдельный сертификат для Sandbox, загрузите его в отдельное поле на этом же экране.
Все, предварительная настройка для тестового режима отправки пуш уведомлений в iOS настроена.