Отправлять уведомления на рабочем столе в Chrome или Firefox из закрытого веб-приложения?

Моя цель - отправлять уведомления рабочего стола в стиле Gmail в Chrome или Firefox из веб-приложение (назовем его X), которое в настоящее время НЕ открыто в браузере, и при этом пользователю не требуется устанавливать приложение или расширение. Это нормально, если пользователю необходимо предоставить разрешение на получение уведомлений от X, и это нормально, если браузер должен быть открыт для отображения уведомления, если X не нужно открывать в браузере. Также подойдет решение, которое не требует открытия какого-либо окна браузера.

Я просто потратил день на то, чтобы разбираться в этом, и пока что думаю, я узнал:

  • Начиная с OSX Mavericks, это можно было сделать в Safari 7+ с помощью Safari Push-уведомлений < / а>.
  • API веб-уведомлений работает в Chrome / Firefox, но требует, чтобы браузер пользователя был открыт для X.
  • Twitter отправляет аналогичные веб-уведомления, не спрашивая разрешения у пользователя. во-первых, но требует, чтобы браузер пользователя был открыт для Twitter.
  • Есть много ссылок на возможные Growl, но, насколько я могу судить, все они требуют, чтобы пользователь для работы установил Growl и / или приложение с поддержкой Growl.

Я могу ошибаться в любом из своих утверждений выше - я бы хотел это услышать! - и я открыт и для любого другого решения. Любые идеи?

Спасибо за прочтение.


person user1544138    schedule 01.12.2014    source источник


Ответы (2)


Вы можете отправлять push-уведомления, даже если ваша веб-страница неактивна, используя Service Workers, API уведомлений для сервисных работников и push API для уведомлений, инициированных сервером (или запланированных уведомлений).

По состоянию на июнь 2016 года Service Workers поддерживаются в Chrome, Firefox и Opera. Смотрите статус на https://jakearchibald.github.io/isserviceworkerready/

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

person Rob W    schedule 02.12.2014
comment
Все страницы состояния, на которые вы ссылались, похоже, указывают на то, что эта функция работает в Chrome. - person ubershmekel; 16.12.2015
comment
Хороший ответ с большим количеством ресурсов и справочных материалов, но это немного утомляет. Есть ли пример регистрации сервис-воркера, обработки HTTP-push и последующего отображения пользователю уведомления? - person speedplane; 26.09.2016
comment
@speedplane Ответ от collimarco содержит ссылки на несколько полных руководств. Если вы не против полагаться на серверы / инфраструктуру Google, см. developers.google.com/web/updates/2015/03/ - person Rob W; 26.09.2016
comment
Как указано в w3.org/TR/task-scheduler Эта спецификация переиздается в виде примечания рабочей группы как указание на то, что она не продвигается дальше как документ отслеживания рекомендаций. Это предложение трудно понять, но я думаю, это означает, что оно не будет реализовано. - person jakubiszon; 29.08.2017

Вы можете делать именно то, что ищете, с помощью W3C Push API.

Если вы хотите создать все с нуля, я предлагаю начать читать это руководство от Google. Это для Chrome, но Firefox работает в очень аналогично.

Однако это большая работа, и «стандарт» все еще развивается: я предлагаю вам использовать такую ​​службу, как Pushpad (я я учредитель).

person collimarco    schedule 21.03.2016
comment
Отказ от ответственности: этот парень является техническим директором в Pushpad, который является платным сервисом. - person user1226868; 24.11.2017