О локальных уведомлениях и удаленных уведомлениях

Локальные уведомления и удаленные уведомления являются двумя типами пользовательских уведомлений. (Удаленные уведомления также известны как уведомления нажатия.) Оба типа пользовательских уведомлений включают приложение, не работающее на переднем плане, чтобы позволить его пользователям знать, что он имеет информацию для них. Информацией могло быть сообщение, нависшее календарное событие или новые данные по удаленному серверу. Когда представлено операционной системой, уведомления локального и удаленного пользователя смотрят и звучат как то же. Они могут вывести на экран предупредительное сообщение, или они могут значок значок приложения. Когда число предупреждения или значка показано, они могут также играть звук.

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

Сразу

Локальные уведомления и удаленные уведомления имеют несколько важных аспектов, о которых необходимо знать.

Локальные и удаленные уведомления решают подобные проблемы

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

Локальные и удаленные уведомления отличаются в происхождении

Локальные и удаленные уведомления удовлетворяют различные потребности проекта. Локальное уведомление планируется и отправляется самим приложением. Удаленные уведомления — также известный как уведомления нажатия — поступают извне устройства или Mac. Они происходят на удаленном сервере — провайдере приложения — и продвинуты к приложениям на устройствах (через службу Apple Push Notification), когда существуют сообщения для наблюдения или данные для загрузки.

Вы регистрируете, планируете и обрабатываете и локальные и удаленные уведомления

Для имения системы поставляют локальное уведомление в более позднее время, приложение регистрирует типы уведомления (в iOS 8 и позже), создает локальный объект уведомления (использующий также UILocalNotification или NSUserNotification), присваивает его дата доставки и время, указывает подробные данные представления и планирует его для поставки. Для получения удаленных уведомлений приложение должно зарегистрировать типы уведомления, затем передать его провайдеру маркер устройства, который это получает от операционной системы.

Когда операционная система поставляет локальное уведомление или удаленное уведомление, и целевое приложение не работает на переднем плане, это может представить уведомление пользователю через предупреждение, число значка значка или звук. Если существует предупреждение уведомления, и пользователь касается или щелкает по кнопке действий (или перемещает ползунок действия), приложение запускает и вызывает метод для передачи в объекте локального уведомления или полезной нагрузке удаленного уведомления. Если приложение работает на переднем плане, когда уведомление поставлено, делегат приложения получает локальное или удаленное уведомление.

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

Службой уведомления нажатия Apple является Gateway для удаленных уведомлений

Apple Push Notification service (APNs) распространяет удаленные уведомления устройствам, регистрирующим приложения для получения тех уведомлений. Каждое устройство устанавливает аккредитованное и зашифрованное IP-соединение со службой и получает уведомления по этому постоянному соединению. Провайдеры соединяются с APNs через персистентный и безопасный канал при контроле входящих данных, предназначенных для их клиентских приложений. Когда новые данные для приложения поступают, провайдер подготавливает и отправляет уведомление через канал к APNs, продвигающему уведомление целевому устройству.

Необходимо получить учетные данные безопасности для удаленных уведомлений

Чтобы разработать и развернуть сторону провайдера приложения для удаленных уведомлений, необходимо получить сертификаты SSL от Задействованного Центра. Каждый сертификат ограничивается отдельным приложением, идентифицированным его пакетом ID; это также ограничивается одной из двух сред, один для разработки и один для производства. Эти среды имеют свой собственный присвоенный IP-адрес и требуют их собственных сертификатов. Необходимо также получить профили настройки для каждой из этих сред.

Провайдер связывается с APNs по двоичному интерфейсу

Двоичный интерфейс является асинхронным и использует проект сокета TCP потоковой передачи для отправки удаленных уведомлений как двоичное содержание к APNs. Существует отдельный интерфейс для сред разработки и продуктивных сред, каждого с его собственным адресом и портом. Для каждого интерфейса необходимо использовать TLS (или SSL) и сертификат SSL, который Вы получили для установления канала защищенных связей. Провайдер составляет каждое исходящее уведомление и отправляет его по этому каналу к APNs.

APNs имеет службу обратной связи, поддерживающую на список приложений из устройств, для которых были попытки неработающей поставки (т.е. APNs был неспособен поставить удаленное уведомление приложению на устройстве). Периодически, провайдер должен соединиться со службой обратной связи для наблюдения, какие устройства имеют персистентные отказы так, чтобы это могло воздержаться от отправки удаленных уведомлений им.

Предпосылки

Руководство по программированию приложения для iOS описывает образцы высокого уровня для записи приложений для iOS.

Для локальных уведомлений и реализации клиентской стороны удаленных уведомлений, принято знакомство с разработкой приложений для iOS. Для стороны провайдера реализации знание TLS/SSL и передающих потоком сокетов полезно.

См. также

Следующие документы обеспечивают справочную информацию:

Вы могли бы найти эти дополнительные источники информации полезными для понимания и реализации локальных и удаленных уведомлений:

Для получения информации о том, как отправить уведомления нажатия Вашим посетителям веб-сайта, использующим OS X, считайте Уведомления Нажатия Safari Конфигурирования в Руководстве по программированию Уведомления для Веб-сайтов.