Подтвердить что ты не робот

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

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

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

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

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

Вы можете выполнить именно то, что вы ищете, используя W3C Push API.

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

Однако большая работа и "стандарт" все еще развиваются: я предлагаю вам использовать службу, например Pushpad.

Ответ 3

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

Суть в том, что то, что вы хотите, похоже, в значительной степени дикой гусиной погони. Вы не хотите приложения и никакой вкладки в браузере, но хотите, чтобы вы случайно вторглись в личное пространство пользователя. Это просто не кажется правильным. По крайней мере, с Growl человек, использующий компьютер, может закрыть вас, если они найдут ваши уведомления раздражающими. То же самое верно в Notification Center (NC) в более современных установках OS X.

У Firefox есть свои собственные уведомления. Я не знаю, как они работают с тех пор, как я прекратил использование Firefox в OS X, когда они это сделали. У Chrome есть уведомления. Но, насколько я могу судить, вам нужна вкладка, открытая там, поэтому я предполагаю, что FF тоже сделал.

По сути говоря, я считаю, что это ужасный опыт. У вас есть веб-приложение, это должно быть веб-приложение. Это не настольное приложение. Я не говорю, что это хорошо или плохо для веб-приложения, чтобы быть веб-приложением, но по сути вы хотите надавить на пользователя без неявного разрешения, которое мне кажется не совсем правильным.

Я не знаю, как отправить уведомление, по крайней мере, на какое-то приложение, выполняющее его. Будь то Growl или демон NC или что-то еще. По существу, я не думаю, что вы хотите сделать. Конечно, я был бы рад быть неправым, но я не думаю, что я здесь. Извините.

Это означает, что у вас может быть небольшое приложение с поддержкой Growl в нем через текущую структуру. Если у конечного пользователя не установлен Growl, он будет использовать NC для отображения. Если это более старая ОС, он будет использовать Mist, о котором вы упомянули в письме в нашу службу поддержки.

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