Как добавить Push-уведомления в ваше приложение для iOS, используя Xcode 8 и Swift 3 сочинение пример

ООО "Сочинения-Про"

Ежедневно 8:00–20:00

Санкт-Петербург

Ленинский проспект, 140Ж

magbo system

Сочинение на тему Как добавить Push-уведомления в ваше приложение для iOS, используя Xcode 8 и Swift 3

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

Существует довольно много руководств, показывающих, как реализовывать push-уведомления для приложений iOS, но большинство из них либо устарели, либо слишком сложны, чтобы делать из них головы или хвосты. Другая проблема заключается в том, что многие руководства не охватывают функции Xcode 8 и Swift 3 и не обеспечивают обратной совместимости для более старых версий iOS, которые поддерживают Swift. Хуже того, они не содержат никакой информации о пользователях новых APN-ключей (Служба Apple Push Notification). И это позор, потому что эти клавиши отлично справляются с задачей, упрощая шаги, необходимые для отправки push-уведомлений.

Мы написали руководство, которое поможет вам реализовать push-уведомления в вашем приложении для iPhone и iPad. Вы сможете быстро и легко отправлять их с Node.js, используя новейшие технологии.

Начало работы

Прежде всего, вам нужно открыть проект приложения для iOS в Xcode 8. Если это ваш первый проект для iOS, загрузите Xcode 8 и создайте новый проект. Обязательно обновите свою кодовую базу, чтобы она использовала Swift 3.

Во-вторых, вам понадобится активная учетная запись участника программы разработчиков Apple. Членство стоит 100 долларов в год. Быть участником является обязательным условием, если вы хотите реализовать push-уведомления в своем приложении iOS. Когда ваше членство активно, настройте Xcode на использование учетной записи iCloud, в которой вы активно участвуете в программе Apple Developer Program.

В-третьих, убедитесь, что вы настроили Идентификатор пакета для приложения в редакторе проекта.

Добавление push-уведомлений в ваше приложение

Прежде всего, вам нужно включить функцию push-уведомлений в Xcode 8. Чтобы сделать это, перейдите в редактор проекта для вашего приложения, перейдите к APNS и перейдите на вкладку Capabilities. Затем нажмите Push-уведомления и измените значение на ON.

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

Назначить токены устройства

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

Вот как выглядит токен устройства: 5311839E985FA01B56E7AD74334C0137F7D6AF71A22745D0FB50DED665E0E882

Откройте AppDelegate.swift и добавьте приведенный ниже код в функцию обратного вызова didFinishLaunchingWithOptions перед оператором возврата, чтобы запросить маркер устройства для используемого вами устройства:

Процесс отличается в iOS 10, потому что Apple представила новую платформу под названием UserNotifications. Поэтому его необходимо импортировать, чтобы получить доступ к классу UNUserNotificationCenter.

Для этого добавьте этот оператор импорта в начало AppDelegate.swift. Когда это будет сделано, перейдите в редактор проекта для своей цели и перейдите на вкладку Общие. Найдите раздел «Связанные фреймворки и библиотеки», нажмите знак «+» и выберите «Уведомления пользователя».

Framework: затем добавьте эти обратные вызовы в AppDelegate.swift. Они будут вызваны, когда APN либо успешно зарегистрируют устройство, назначив ему уникальный токен, либо не смогут его зарегистрировать:

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

Имейте в виду, что токен устройства может быть изменен в будущем по ряду причин. Мы рекомендуем использовать NSUserDefaults, локальное хранилище значений ключей, для локального хранения токена. Таким образом, вам нужно будет только обновить свой бэкэнд при изменении токена, что поможет вам избежать ненужных запросов.

Еще одна вещь, которую вы должны помнить, это запускать ваше приложение на физическом устройстве iOS при работе над реализацией push-уведомлений, особенно после изменения AppDelegate.swift. Симуляторы iOS не могут получать push-уведомления, поэтому использовать их в этом сценарии бессмысленно. Когда вы увидите следующее всплывающее окно, нажмите «ОК», чтобы разрешить вашему приложению получать push-уведомления:

После этого консоль Xcode покажет уникальный токен вашего устройства. Вы должны скопировать и сохранить его для последующего использования.

Подготовительная работа для получения уведомлений

Теперь нам нужно подготовить все для получения push-уведомлений. Сначала добавьте этот обратный вызов в AppDelegate.swift. Он будет вызываться каждый раз, когда ваше приложение получит push-уведомление от вашего внутреннего сервера: этот обратный вызов будет вызываться только в том случае, если пользователь нажимает или проводит пальцем для взаимодействия с вашим уведомлением или если у пользователя открылось ваше приложение, когда прошло push-уведомление. < / р>

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

Хотя есть небольшой сбой. Если ваше приложение открыто, когда устройство получает push-уведомление, пользователь его не увидит. Поэтому вам следует подумать о другом способе уведомления пользователя о новом событии, если приложение уже используется. Проверьте этот вопрос StackOverflow для обходных путей. Например, вы можете отобразить баннер, похожий на нативные уведомления iOS.

Создать ключ аутентификации APNs

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

Этот процесс был громоздким. Вы должны были заполнить запрос на подпись сертификата в Access Keychain Access, загрузить его в Центр разработчиков, загрузить подписанный сертификат, а затем экспортировать его закрытый ключ из Keychain Access. Вам также пришлось конвертировать оба сертификата в формат .pem. Сертификат должен был обновляться каждый год. Хуже того, он действителен только для одной схемы: разработка или производство.

К счастью, Apple сделала вещи намного проще, представив APNs Auth Keys. Эти ключи никогда не истекают, если вы не отмените их и не будете работать со всеми схемами развертывания. Чтобы сгенерировать ключ аутентификации APN, перейдите в Центр разработчиков и перейдите к разделу Ключи – все. Там нажмите кнопку «+», чтобы создать новый ключ авторизации.

Перейдите на следующую страницу и введите имя для своего ключа. Затем включите APN и нажмите «Продолжить» внизу страницы. Убедитесь, что флажок APNs установлен.

Когда закончите, нажмите Подтвердить на следующей странице. Apple создаст для вас файл ключа .p8. Файл будет содержать ваш ключ авторизации APN. Затем загрузите файл .p8 и сохраните его для дальнейшего использования. Не забудьте записать идентификатор ключа – он понадобится вам, когда вы будете подключаться к APN.

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

Теперь вы очень близки к своей цели. Итак, давайте настроим ваш бэкэнд для подключения к APN и отправки push-уведомлений. Мы покажем вам, как это сделать в Node.js. Прежде всего, убедитесь, что на вашем локальном компьютере установлен Node.js v4 или новее, и запустите следующий код в каталоге по вашему выбору:

Это запустит новый проект Node.js и установит пакет apn из npm. Пакет будет аутентифицирован с APN и отправит ваши push-уведомления. Теперь вам нужно скопировать файл ключа .p8, который вы скачали, в папку APN, которую вы только что создали. Вы можете назвать файл apns.p8 для простоты. Затем создайте новый файл в папке APNs и назовите его app.js. Используйте ваш любимый редактор для этой задачи. Теперь вставьте приведенный ниже код в файл: перед запуском этого кода убедитесь, что вы выполнили следующие действия:

<Ол>
 

  • Настроил свойство key: Id с идентификатором ключа аутентификации APN (доступно по адресу https://developer.apple.com/account/ios/certificate/key)
     

  • Настройка группы: свойство Id с идентификатором вашей учетной записи Apple для разработчиков (доступно по адресу https://developer.apple.com/account/#/membership/)
     

  • Настроенное устройство: токен с токеном устройства, сгенерированным после запуска приложения и проверки консоли
     

  • Настроенное уведомление: тема с идентификатором пакета вашего приложения, который доступен в редакторе проекта

    Теперь пришло время проверить все. Заблокируйте ваше устройство и запустите узел app.js. Если вы выполнили эти шаги правильно и все сделали правильно, вы должны получить push-уведомление на ваше устройство iOS.

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

  • Зарегистрируйся, чтобы продолжить изучение работы

      Поделиться сочинением
      Ещё сочинения
      Нет времени делать работу? Закажите!

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