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

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

11 ответов


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

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

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

см. эти ссылки, предоставленные Peter Хози:


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

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


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

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

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

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

Push API в настоящее время поддерживается на рабочий стол и Android by Chrome, Firefox и Опера.

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

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

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

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


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

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


вообще-то.. Это совершенно новый разум.. На новейшей версии OS X (Mavericks) вы CAN отправка push-уведомлений с веб-страницы на рабочем столе. Но согласно документации, не айфоны:

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

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

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

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

из уст Яблока:

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

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

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

Примечание: Если вам нужно обновить APNs, прочитайте главу "служба Push-уведомлений Apple" в руководстве по программированию локальных и Push-уведомлений. Хотя документ специфичен для push-уведомлений 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-url, чтобы браузер мог запрашивать уведомления во время его работы в фоновом режиме - и прежде всего - если все вкладки были закрыты.


вы можете использовать HTML5 Websockets, чтобы представить свои собственные 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 Message), необходимо иметь собственное приложение, которое необходимо загрузить через интернет-магазин.


Pushbullet является отличной альтернативой для этого.

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

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

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


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