logo
Mobile
Максим Колмогоров
Максим Колмогоров
Разработка сайтов

Как выпустить сертификат для push-уведомлений на iOS

Чтобы выпустить сертификат для push-уведомлений, Вам нужно иметь оплаченное членство в “Apple Developer Program”. Если такого на данный момент нет, приобретите членство на сайте для разработчиков Apple, а после вернитесь к прочтению данной статьи.

Как выпустить сертификат для push-уведомлений на iOS

Создаем запрос на сертификат

Чтобы выпустить сертификат, нам сначала надо создать запрос на сертификат. Для этого на своем Mac нужно открыть приложение “Связка ключей”. Если Вы используете операционную систему Macos Sequoia, то в программах Вы не найдете нужное приложение. Вам требуется открыть терминал и написать команду:

open /System/Library/CoreServices/Applications

После, в Finder откроется список из системных программ, и вот тут-то Вы найдете приложение “Связка ключей”. Запустите программу и запросите новый сертификат у бюро сертификации:

получаем запрос на сертификат

Введите имя, свою почту и обязательно выберите “Сохранить на диске”:

сохраняем запрос на сертификат

Полученный файл пока сохраните.

Выпускаем сертификат

Теперь перейдите на сайт разработчиков Apple, а после авторизуйтесь в личном кабинете. Уже внутри найдите раздел “Program resources”. Тут надо кликнуть на ссылку “Certificates”:

заходим в кабинет Apple

Вы попадете на страницу со списком всех Ваших сертификатов. Чтобы выпустить новый сертификат, надо нажать на иконку с плюсом:

нажимаем на плюс

После, откроется страница с перечнем сертификатов, выбирайте “Apple Push Notification service SSL (Sandbox & Production)”.

выбираем нужный сертификат

Также есть вторая версия этого сертификата, без слова “Production” в скобках. Она отличается от выбранного сертификата только тем, что с помощью него нельзя посылать уведомления на приложения скачанные с Apple Store. 

“Sandbox” сертификат позволяет посылать уведомления только на приложения собранные через Xcode на iPhone. Если же приложение скачано с TestFlight или Apple Store, то для отправки пуша потребуется сертификат с припиской “Production”.

Далее Вы попадете на страницу, где нужно в выпадающем списке выбрать ID приложения, для которого будете выпускать сертификат. Выберете нужное и идите дальше (если нет нужного идентификатора, то зарегистрируйте его в “Program resources” -> “Identifiers”).

выбираем нужный ID приложения

Теперь на следующей странице Вам нужно загрузить полученный запрос на сертификат (из начала статьи).

загружаем запрос на сертификат

Полученный файл скачайте и нажмите на него. Он должен добавиться в связку ключей. Вернитесь в приложение “Связка ключей” в раздел “Вход” и сверху выберите “Сертификаты”:

получаем файл .p12

На Macos Sequoia 15.0.1 есть баг, после запуска приложения нет ни одного сертификата. Нужно просто “полазить” по приложению и снова вернутся в нужный раздел, сертификаты отобразятся.

Найдите в перечне сертификатов нужный, раскройте его и выберите раскрытый сертификат и запрос на сертификат (через Shift + ЛКМ). После нажмите ПКМ и выберите “Экспортировать объектов: 2”. Сохраняйте в формате .p12 и не забудьте придумать хороший пароль для файла в следующем модальном окне.

Пример отправки push-уведомления

Отправим уведомление с помощью curl:

На 3 строчке вместо <app_uid> укажите ID приложения. На 6 строчке укажите путь до файла с сертификатом и через двоеточие пароль от файла. А на 7 строчке вместо <token> укажите токен устройства.

Если хотите отправить push-уведомления в приложение, которое собрано через Xcode на iPhone, то в 8 строчке поменяйте адрес API на:

https://api.development.push.apple.com/3/device/

А “боевой” маршрут оставьте для приложений скачанных с Apple Store и TestFlight.

***

Если материал был полезен, то оставьте комментарий! Автору будет приятно.

Разработка приложений
Получите персональную стоимость на разработку мобильного приложения сегодня
Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности

Оставьте комментарий

Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности

Нет комментариев