Как выпустить сертификат для push-уведомлений на iOS
Чтобы выпустить сертификат для push-уведомлений, Вам нужно иметь оплаченное членство в “Apple Developer Program”. Если такого на данный момент нет, приобретите членство на сайте для разработчиков Apple, а после вернитесь к прочтению данной статьи.
Создаем запрос на сертификат
Чтобы выпустить сертификат, нам сначала надо создать запрос на сертификат. Для этого на своем Mac нужно открыть приложение “Связка ключей”. Если Вы используете операционную систему Macos Sequoia, то в программах Вы не найдете нужное приложение. Вам требуется открыть терминал и написать команду:
open /System/Library/CoreServices/Applications
После, в Finder откроется список из системных программ, и вот тут-то Вы найдете приложение “Связка ключей”. Запустите программу и запросите новый сертификат у бюро сертификации:
Введите имя, свою почту и обязательно выберите “Сохранить на диске”:
Полученный файл пока сохраните.
Выпускаем сертификат
Теперь перейдите на сайт разработчиков Apple, а после авторизуйтесь в личном кабинете. Уже внутри найдите раздел “Program resources”. Тут надо кликнуть на ссылку “Certificates”:
Вы попадете на страницу со списком всех Ваших сертификатов. Чтобы выпустить новый сертификат, надо нажать на иконку с плюсом:
После, откроется страница с перечнем сертификатов, выбирайте “Apple Push Notification service SSL (Sandbox & Production)”.
Также есть вторая версия этого сертификата, без слова “Production” в скобках. Она отличается от выбранного сертификата только тем, что с помощью него нельзя посылать уведомления на приложения скачанные с Apple Store.
“Sandbox” сертификат позволяет посылать уведомления только на приложения собранные через Xcode на iPhone. Если же приложение скачано с TestFlight или Apple Store, то для отправки пуша потребуется сертификат с припиской “Production”.
Далее Вы попадете на страницу, где нужно в выпадающем списке выбрать ID приложения, для которого будете выпускать сертификат. Выберете нужное и идите дальше (если нет нужного идентификатора, то зарегистрируйте его в “Program resources” -> “Identifiers”).
Теперь на следующей странице Вам нужно загрузить полученный запрос на сертификат (из начала статьи).
Полученный файл скачайте и нажмите на него. Он должен добавиться в связку ключей. Вернитесь в приложение “Связка ключей” в раздел “Вход” и сверху выберите “Сертификаты”:
На 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.
Если материал был полезен, то оставьте комментарий! Автору будет приятно.
Оставьте комментарий