Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Push Notifications
Code

Настройка Push уведомлений на iOS

by
Difficulty:IntermediateLength:MediumLanguages:

Russian (Pусский) translation by Muhamad Zulfiqor (you can also view the original English article)

Введение

Apple представила первоначально push-уведомления, чтобы позволить приложениям реагировать на события, если приложение не выполняется на переднем плане. Однако операционной системы и устройства iOS значительно изменилась за последние несколько лет и приложения не должны полагаться исключительно на push-уведомлений для выполнения задач в фоновом режиме.

Это не означает, что push-уведомлений больше не являются полезными хотя. Push-уведомления велики для уведомления приложения о важных событиях и держать пользователей вашего приложения. Кроме того не забывайте, что приложение все еще не позволено запускать в фоновом режиме без ограничений. Другими словами первоначальная цель push-уведомлений до сих пор действителен.

Даже самых опытных разработчиков iOS поцарапать их головы, время от времени, когда им приходится иметь дело с инициализацией приложения. К сожалению push-уведомлений добавьте эту сложность. С помощью этого учебника я надеюсь показать вам, что Настройка push-уведомлений должно быть кошмаром. Следовать вдоль и я обещаю, что вы будете отправки push-уведомлений в кратчайшие сроки.

1. предпосылки

Вам потребуется две вещи, если вы хотите следовать вместе со мной. Первое, что вам нужно это физическое устройство для получения push-уведомлений, потому что iOS, который не поддерживает симулятор push-уведомления. Вторая вещь, что вам нужно это учетная запись разработчика платных iOS. Только платных аккаунтов можно подготовить приложения для запуска на физическом устройстве.

2. проект установки

Целью данного учебника является для построения приложения, настроенный для получения push-уведомлений. Откройте Xcode и создайте новый проект, основанный на шаблоне один вид приложения.

Назовите проект Push, введите идентификатор компании и префикс класса и установка устройства для iPhone.

3. регистрация

Даже несмотря на то, что я не буду обсуждать мельчайших серверной инфраструктуры push-уведомлений, важно, что вы знаете и понимаете, что ваше приложение необходимо сделать для получения push-уведомлений и почему она это делает.

Открыть TSPAppDelegate.m и обновлять приложение: didFinishLaunchingWithOptions: как показано ниже. Мы называем registerForRemoteNotificationTypes: на объект приложения, передавая в типы уведомлений, которые нас интересуют. Операционная система теперь знает, что приложение заинтересована в получении push-уведомлений.

Операционная система обращается к серверам Apple и получает маркер устройства для идентификации устройства, приложения, запущенного на. Этот токен устройства используется вашей инфраструктурой сервера для отправки push-уведомлений. Он делает это, отправив токен устройства наряду с фактическим push-уведомления к серверам Apple. Apple серверы отвечают за распространение push-уведомления для соответствующих устройств.

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

 Если вы используете такой сервис, как Parse или Urban Airship, тогда вам не о чем беспокоиться. В этом случае вам только нужно отправить бэкэнд маркера iOS устройства руки вам.

Методы, которые говорят приложения ли регистрация удаленных уведомлений об успешной или нет, приложение: didRegisterForRemoteNotificationsWithDeviceToken: и приложений: didFailToRegisterForRemoteNotificationsWithError: соответственно. Для теперь реализуют эти методы, как показано ниже.

Оба метода объявляются в UIApplicationDelegate протоколе. Этот протокол также объявляет другой метод, приложение: didReceiveRemoteNotification:, который вызывается, когда приложение получает уведомление об удаленном. Это до вас, чтобы обрабатывать любые входящие push-уведомлений. Приложение: didReceiveRemoteNotification: метод передает вам полезной push-уведомления как объект NSDictionary. Приложению необходимо решить, как она должна реагировать на push-уведомления.

Если вы запустите приложение, а затем приложение: didFailToRegisterForRemoteNotificationsWithError: метод будет вызван. Это не удивительно, поскольку мы еще не закончили наше приложение для push-уведомлений параметр. Как напоминание удаленного уведомления не поддерживаются iOS симулятор. Вам потребуется физическое устройство, чтобы завершить этот учебник.

4. SSL сертификат

Для выполнения следующего шага, вам нужно войти в свой аккаунт разработчика iOS на iOS от Apple Dev Center. Выберите идентификаторов iOS приложений секций.

Нажмите кнопку «плюс» в правом верхнем углу и введите описание ID приложения. Это помогает вам идентифицировать App ID позже.

Вы можете оставить App ID, префикс как есть, но суффикс идентификатора приложения необходимо задать явные App ID, вместо подстановочного знака App ID. Если вы хотите приложения для удаленного уведомлений, то вам нужно использовать явные App ID, такие как com.tutsplus.push, вместо com.tutsplus.*.

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

Выберите из списка идентификаторов App, тот вы только что создали и нажмите на кнопку ниже. Прокрутите вниз до тех пор, пока вы смотрите секцию, что охватывает push-уведомления. Вы должны увидеть две кнопки создать сертификат..., как показано ниже.

Как я упоминал ранее, ваш бэкэнда взаимодействует с серверами Apple для отправки уведомлений удаленного приложения. Ваш бэкэнда отправляет уведомления удаленного приложения через серверы компании Apple. По этой причине Apple необходимо знать, что только серверы могут подключаться с их серверов. Вы не хотите кто-то отправить удаленных уведомлений в приложение.

Apple необходимо поэтому создать сертификат SSL. Многие разработчики съеживаться на слова «сертификаты» и «подготовки», но это действительно не так сложно.  Следуйте за ним, и вы будете готовы менее чем за две минуты.

Откройте связку на компьютере разработчика и выберите Certificate Assistant > запросить сертификат из центра сертификации... связка меню. Убедитесь, что ключ не выбран в связке, при выборе этого параметра.

Введите адрес электронной почты и общее имя для идентификации сертификата позже. Email отпуска CA поле пустым и выберите сохраненный на диске. Нажмите кнопку продолжить и сохраните сертификат подписи запроса на ваш жесткий диск.

Вы создали несколько вещей, выполняя этот шаг. Вы создали сертификат подписи запроса, а также открытый и закрытый ключи. Ключи должны быть видны в связке, как показано ниже.

Возвращайтесь в iOS Dev Center и нажмите кнопку Создать сертификат... кнопки которые мы видели раньше. Apple говорит вам, какие шаги необходимо предпринять, чтобы создать запрос на подпись сертификата, но мы уже завершили те. Нажмите кнопку продолжить, загрузить запрос на подпись сертификата, нажав кнопку Выбор файла кнопку и нажмите Создать, чтобы создать SSL-сертификат.

Как Apple инструктирует, загрузите сертификат и дважды щелкните его, чтобы установить его в связке. Проверьте, что сертификат добавляется связка и связана с правильным закрытым ключом.

Следующий шаг, применение провизионирования, является то, что поездки до многих разработчиков. Позвольте мне помочь вам через него.

5. Подготовка приложения

Прежде чем мы можем проверить наш установки push уведомления, нам нужно создать профиль подготовки для нашего приложения. В iOS Dev Center выберите развития в разделе подготовки профилей. Нажмите кнопку «плюс» в правом верхнем углу и выберите iOS приложение развития под секцией развития.

Нажмите Далее и выберите ваш App ID из списка. Выберите сертификаты, которые вы хотите включить в подготовку профиль и нажмите кнопку продолжить.  Поскольку мы создаем профиль подготовки для разработки, нам также необходимо указать, какие устройства должны быть включены в профиль подготовки.  Убедитесь, что ваше тестовое устройство включено. Разумно назвать подготовки профиля и нажмите кнопку Создать.

Скачать подготовки профиля и перетащите его в Xcode, чтобы добавить его. Обновление параметров построения вашей цели в Xcode для использования нового профиля подготовки.  Создайте и запустите приложение, чтобы убедиться, что все работает так, как ожидалось.

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

Если вы выполнили шаги, описанные в этом руководстве, ваше приложение должно запрашивать вам с следующее сообщение.

 Если вы нажмете OK, ваше приложение запросит операционную систему для токена устройства.  Если это успешно, приложение: didRegisterForRemoteNotificationsWithDeviceToken: вызывается метод протокола UIApplicationDelegate, передающий вам токен устройства.  Поскольку мы добавили оператор журнала к этому методу, маркер устройства также должен быть зарегистрирован на консоли в Xcode.

 6. Отправка Push-уведомлений

 Чтобы проверить, поступают ли какие-либо push-уведомления, которые вы отправляете, вам необходимо иметь бэкэнд, чтобы ваше приложение могло отправлять токен устройства.  Затем этот сервер может подключаться к серверам Apple для отправки push-уведомлений.

 Я не буду рассматривать этот аспект push-уведомлений в этом уроке, но это легкая часть push-уведомлений, особенно если вы используете сервис, например Parse или Urban Airship.

 Вы также можете использовать Хьюстон, драгоценный камень Ruby, разработанный Мэттом Томпсоном, который очень упрощает отправку push-уведомлений.

вывод

 Надеюсь, что этот урок показал вам, что push-уведомления не так сложно настроить, как думают многие разработчики.  Это правда, что вам нужно немного поиграть с ключами и сертификатами, но как только вы понимаете движущиеся части, тогда это не так сложно понять и настроить.

 Правда в том, что сложная часть - это создание ключей и сертификатов.  Обработка push-уведомлений в приложении iOS очень проста и проста.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.