Получение push-уведомлений на iOS
Push-уведомления на iOS отправляются через Apple Push Notification service (APNs).
Для iOS используются сертификаты APNs двух типов: dev (нужен в процессе разработки) и dist (используется как в процессе разработки, так и для стандартной работы приложения). Формат сертификата обязательно должен быть .p12.
Выбор окружения APNs (dev / dist)
Какой тип уведомлений будет отправлять сервер, определяется параметрами account config:
-
send_dev_ios_pushes— отправка через APNs Sandbox. -
send_dist_ios_pushes— отправка через APNs Production.
Внимание!
Одновременно должен быть включён только один режим: либо send_dev_ios_pushes, либо send_dist_ios_pushes.
Как изменить параметр: см. Редактор настроек аккаунта (account config).
N.B.
Для выполнения следующих действий требуется действительный аккаунт разработчика Apple, устройство Mac c Xcode и действительный сертификат разработчика, установленный в Цепочку ключей (Keychain).
Для получения сертификатов APNs выполните следующие действия:
-
Выполните вход в Apple Developer Center и выберите раздел Identifiers, затем нажмите на кнопку со значком плюса.
-
Выберите App IDs и нажмите Continue.
-
Заполните форму нового App ID: введите Description (описание) вашего App ID, в поле Bundle ID выберите Explicit и укажите в строке ввода Bundle ID в виде обратного доменного имени, например
com.push.webim.test(т.е.test.webim.push.comв обратном порядке). -
На этой же странице в списке Capabilities отметьте функциональность, которую вы реализуете в вашем приложении, а также Push Notifications, затем нажмите Continue.
N.B.
Убедитесь, что вы создали App ID без подстановочного знака. Для идентификаторов с подстановочным знаком нельзя использовать службу push-уведомлений. Не путайте App ID и Bundle ID: Bundle ID имеет вид
com.company.appnameи определён вinfo.plist. -
Подтвердите настройки App ID, нажав Register.
-
Вернитесь в раздел Identifiers и выберите только что созданный вами App ID.
-
Прокрутите до Push Notifications и нажмите Configure.
-
В секции Development SSL Certificate нажмите Create Certificate.
Далее откроется форма создания сертификата. Для создания сертификата потребуется CSR-файл, сгенерированный на вашем устройстве Mac.
-
Откройте на Mac сервис Keychain Access. В шапке приложения (полоска сверху) нажмите Keychain Access и перейдите в Create Assistant -> Request a Certificate From a Certificate Authority.
-
В окне информации о сертификате заполните форму, указав ваш Email и имя. Выберите сохранение на диске и нажмите Continue. CSR-файл будет создан и сохранён на устройстве Mac.
-
Вернитесь на открытую страницу Apple Developer Center. В форме создания сертификата нажмите Choose File и загрузите с устройства созданный CSR-файл. Нажмите Continue.
-
Далее появится страница, где будет отображена информация о новом APNs-сертификате (имя сертификата, дата окончания действия, тип сертификата и информация о создателе сертификата). Нажмите Download, чтобы загрузить его
-
Откройте Keychain Access в разделе Login -> Certificates появится только что загруженный APNs-сертификат. Выберите его и нажмите Export.
-
В форме экспорта укажите формат
.p12. -
Нажмите Save. Далее Mac OS попросит вас подтвердить сохранение: в первой форме просто нажмите Enter, в следующей введите ваш пароль администратора и нажмите Allow.
Чтобы создать production-сертификат для вашего iOS-приложения, выполните пункты 6-14 этой инструкции, но в пункте 8 нажмите Create Certificate в секции Production SSL Certificate.
Внимание!
В систему можно загрузить сертификаты обоих типов, одновременно может быть включен только один тип уведомлений: либо dist, либо dev.
N.B.
После создания сертификата(ов), также убедитесь, что в проекте вашего iOS-приложения в Xcode включено Automatic signing, а в разделе Capabilities вашего проекта включены push-уведомления.
В версии Webim 10.1 стало возможным добавлять сертификаты APNs через интерфейс Консоли управления (см. Сертификаты).











