Как веб-приложение может отправлять push-уведомления на устройства iOS?

Я работаю над веб-приложением. Как я могу отправлять push-уведомления пользователям iOS, когда есть новый контент?

11 Solutions collect form web for “Как веб-приложение может отправлять push-уведомления на устройства iOS?”

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

Как указано в другом ответе, один из вариантов – «обернуть» ваше веб-приложение в родном приложении. Это означает, что вы создадите собственное приложение, которое в основном представляет UIWebView (для iPhone dev) для пользователя, показывающего ваше веб-приложение. Хотя это в значительной степени работает так же, как и собственный браузер, вы сможете добавить возможность зарегистрироваться для push-уведомлений с помощью встроенных элементов управления.

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

Смотрите ссылки, предоставленные Питером Хоузи:

Нет, только родные приложения iOS поддерживают push-уведомления.

ОБНОВИТЬ:
Веб-сайты Mac OS X 10.9 и Safari 7 теперь могут также отправлять push-уведомления, но это все еще не относится к iOS. Прочтите Руководство по программированию уведомлений для веб-сайтов . Также проверьте сессию 614 WWDC 2013 .

Пока еще не поддерживается iOS (с iOS 10), веб-сайты могут отправлять push-уведомления в Firefox и Chrome (Desktop / Android) с помощью Push API .

Push API используется вместе со старыми веб-уведомлениями для отображения сообщения. Преимущество заключается в том, что Push API позволяет получать уведомления даже в том случае, если пользователь не просматривает ваш сайт, потому что они построены на Service Workers (скрипты, которые зарегистрированы в браузере и могут быть выполнены в фоновом режиме позднее, даже после ваш пользователь покинул ваш сайт).

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

  1. пользователь должен посещать ваш сайт (должен быть защищен через HTTPS): вы запрашиваете разрешение на отображение push-уведомлений и регистрируете сервис-работника (скрипт, который будет выполняться при получении push-уведомления)
  2. если пользователь предоставил разрешение, вы можете прочитать маркер устройства (конечная точка), который должен быть отправлен на сервер и сохранен
  3. теперь вы можете отправлять уведомления пользователю: ваш сервер делает HTTP POST-запрос конечной точке (который является URL-адресом, содержащим токен устройства). Сервер, получающий запрос, принадлежит разработчику браузера (например, Google, Mozilla): браузер постоянно подключен к нему и может читать входящие уведомления.
  4. когда пользовательский браузер получает уведомление, выполняет работника службы, который отвечает за управление событием, извлекает данные уведомления с сервера и отображает уведомление пользователю

Push API в настоящее время поддерживается на настольных компьютерах и Android через Chrome , Firefox и Opera .

Вы также можете отправлять push-уведомления на рабочий стол Apple / Safari с использованием APN. Подход аналогичен, но со многими осложнениями (сертификаты разработчика Apple, push-пакеты, низкоуровневое TCP-соединение с APN).

Если вы хотите самостоятельно реализовать push-уведомления, начните с этих руководств:

  • Push API: Push-уведомления в Open Web
  • Система уведомления Apple Push: настройка уведомлений о загрузке Safari

Если вы ищете решение для снижения, я бы предложил Pushpad , который является сервисом, который я создал.

Обновление (сентябрь 2017 г.): Apple приступила к разработке рабочих сервисов для WebKit ( статус ). Поскольку сервисные работники являются фундаментальной технологией для веб-толчка, это большой шаг вперед.

Теперь Google Chrome поддерживает стандарт W3C для push-уведомлений.

http://www.w3.org/TR/push-api/

НАСТОЯТЕЛЬНО. Это новый взгляд на вас. В новейшей версии OS X (Mavericks) вы можете отправлять push-уведомления с веб-страницы на рабочий стол. Но, согласно документации, NOT iPhones:

Note: This document pertains to OS X only. Notifications for websites do not appear on iOS. 

В настоящее время Apple планирует разрешить 2 типа push-уведомлений: оповещения о Push-адресах веб-сайта OS X и локальные уведомления.

Очевидным препятствием здесь является то, что это не будет работать на ПК, и это не позволит вам делать андроидные push-уведомления.

Кроме того, вы действительно можете с версиями, такими же старыми, как Snow Leapord, отправлять push-уведомления с веб-сайта, пока указанный веб-сайт открыт и активен. Новая операционная система Mavericks позволит push-уведомлениям, даже если сайт не открыт, если вы уже дали разрешение указанному сайту отправлять push-уведомления.

Из уст Apple:

В OS X версии 10.9 и более поздних версиях вы можете отправлять уведомления веб-узла OS X с вашего веб-сервера непосредственно пользователям OS X с помощью службы Apple Push Notification (APN). Чтобы не путать с местными уведомлениями, push-уведомления могут доходить до ваших пользователей независимо от того, открыт ли ваш веб-сайт или их веб-браузер …

Чтобы интегрировать push-уведомления на свой веб-сайт, вы сначала представляете интерфейс, который позволяет пользователю выбирать уведомления. Если пользователь соглашается, Safari связывается с вашим сайтом с запросом его учетных данных в виде файла, называемого push-пакетом. Пакет push также содержит средства уведомлений, используемые во всей OS X, и данные, используемые для связи с настраиваемой веб-службой. Если пакет push действителен, вы получаете уникальный идентификатор для пользователя на устройстве, известном как токен устройства. Пользователь получает уведомление при отправке комбинации этого токена устройства и вашего сообщения или полезной нагрузки в APN.

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

Примечание. Если вам необходимо обновить APN, прочитайте главу «Служба уведомлений Apple Push» в руководстве по программированию локального и Push Notification. Хотя документ специфичен для уведомлений iOS и OS X, парадигмы службы push-уведомлений все еще применяются.

Вы можете использовать pushover, если вы не хотите создавать собственное собственное приложение: https://pushover.net/

Нет, нет возможности для Webapp получать push-уведомления. Что вы можете сделать, это превратить ваш webapp в родное приложение с push-уведомлениями.

W3C начал в 2010 году рабочую группу по внедрению уведомлений:
http://www.w3.org/2010/web-notifications/

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

Наконец, результат похож на плохую шутку, поскольку он работает только в том случае, если конкретный веб-сайт открыт: http://alxgbsn.co.uk/notify.js/

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

Вы можете использовать веб-камеры HTML5, чтобы представить свои собственные push-сообщения. Из Википедии :

«Для клиентской стороны WebSocket должен был быть реализован в Firefox 4, Google Chrome 4, Opera 11 и Safari 5, а также в мобильной версии Safari в iOS 4.2. Также браузер BlackBerry в OS7 поддерживает WebSockets».

Для этого вам нужно, чтобы ваш собственный сервер провайдера отправлял сообщения клиентам.
Если вы хотите использовать APN (Apple Push Notification) или C2DM (сообщение Cloud to Device), у вас должно быть собственное приложение, которое необходимо загрузить через интернет-магазин.

Проверьте уведомления Xtify Web Push. http://getreactor.xtify.com/ Этот инструмент позволяет вам размещать контент на веб-странице и настраивать посетителя, а также запускать сообщения на основе событий DOM в браузере. Он разработан специально для мобильных устройств.

Pushbullet – отличная альтернатива этому.

Однако пользователю необходимо иметь учетную запись Pushbullet и установленное приложение (iOS, Android) или плагин (Chrome, Opera, Firefox и Windows).

Вы можете использовать API , создав приложение Pushbullet и подключив пользователя приложения к пользователю Pushbullet с помощью oAuth2.

Использование библиотеки сделало бы ее намного проще, для PHP я мог бы рекомендовать ivkos / Pushbullet-for-PHP .

  • iOS Simulator для тестирования веб-сайта на Mac
  • iOS 8.3. Начальная шкала метаданных под 1,0 приводит к странному масштабированию содержимого при изменении ориентации
  • Обработка всех веб-сайтов одноразовых статических файлов, таких как favicon.ico, надежно и элегантно?
  • Различные идентификаторы oauth2 native / web client для одного и того же приложения
  • Баннеры смарт-приложений iOS 9 не возвращаются
  • Открыть AppStore с веб-сайта в IOS 9
  • Почему политика одного домена не влияет на собственные мобильные приложения?
  • Как передать файлы cookie из моего приложения ios в мобильное сафари?
  • Как программно заполнить веб-формы, чтобы получить страницы аутентификации? (в iOS)
  • Проблема с выпуском журнала iPhone во всплывающем окне
  • Просмотр Html в приложениях ios / ipod
  • Interesting Posts

    Определить дату создания файла на iPhone OS?

    Проведите между различными экранами (представлениями) с помощью раскадровки

    NSFetchedResultsController vs UILocalizedIndexedCollation

    Скрытие опции Apple Pay, если она еще не настроена.

    Запись> 20 байтов на внешнее устройство Bluetooth в iOS

    Быстрые варианты: проблема языка или что-то не так?

    Что это означает в Свифте?

    Устранение ошибки CoreData: NULL _cd_rawData, но объект не превращается в ошибку

    Вызов методов подталкивания подкласса UINavigationBar, не вызываемых

    Пунктирная / пунктирная граница для UITextView / UITextField

    Что является хорошим регулярным выражением для выделения синтаксиса комментариев?

    Что означает ошибка «Не удалось скомпилировать соединение:»?

    Как изменить текст и фоновый цвет кнопки UIDocumentInteractionController Done

    как я могу заполнить словарь содержимым файла url .txt

    Ошибка: не удалось найти перегрузку для «title», которая принимает предоставленные аргументы

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.