Pull to refresh
34.08
PushAll
Платформа подписки на Push-уведомления

PushAll может отправлять уведомления в браузер Chrome без установки приложений и дополнений

Reading time3 min
Views24K

Каким образом?


Google Chrome начиная с версии 42 поддерживает Push API через сервера Google, используя GCM Вы наверняка уже видели эти запросы для доступа к уведомлениям. Если разрешить доступ, сайт сможет отправлять вам уведомления. Эта функция совсем новая, и о ней мало кто знает, однако, по моему мнению, у нее уже есть большие недостатки:
  • Каждый сайт запрашивает разрешения в браузере, сложно контролировать, сколько источников сейчас могут присылать тебе уведомления, у каждого висит свой фоновый процесс, который отдельно просыпается, нет никакой истории полученных уведомлений или фильтрации, нет никакой синхронизации подписок между устройствами
  • Сайтам необходимо отправлять уведомления напрямую на устройства, следить за актуальностью базы устройств, следить за каждым устройством пользователя в отдельности
  • Данная возможность работает лишь на сайтах с SSL


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






Немного теории


Основную статью по которой я собственно делал эту функцию можно найти тут
Если вкратце, то браузер создает Service-Worker (доступен с Chrome 40), это фоновый процесс на JS. Он не постоянно работает в фоне, а откликается на различные запросы извне. Например, на приход Push-сообщения. Конечно же, он не требует открытой страницы. Более того, он работает даже если браузер закрыт (ну не совсем закрыт, а в фоновом режиме.)

При приходе Push-сообщения, браузер показывает уведомления. Вот и все. Это позволяет полностью реализовать прием Push-уведомлений без каких-либо приложений, более того, это работает и на андроиде в мобильном хроме! Из явных недостатков можно выделить на данный момент то, что нельзя передать в push-сообщении полезную нагрузку, т.е. само сообщение. Google объясняет это проблемами безопасности, и сообщает, что в Chrome 44 проблема полностью решена и браузер сможет принимать данные напрямую. Также, по некоторым данным, если браузер был закрыт, то до него не дойдет запрос. Эта проблема решаема тем, что можно вывалить все уведомления, которые не были подтверждены при получении любого следующего сообщения.

Как PushAll решает проблему


Вы можете отправлять уведомления через Push API даже без сайта вовсе. То есть вы можете создать канал и отправлять уведомления вручную, либо с сервера через curl, либо подключив RSS-ленту. В данном случае пользователь разрешает доступ к отправке сайту PushAll.
При этом разработчику не надо задумываться кому он отправляет уведомление. На приложение под Android, на дополнение хром, или сразу через Push API. Он может отправить сообщение десятку пользователей, а на деле оно уйдет на каждое из 2-3 устройств каждого пользователя. В дальнейшем это будут и другие браузеры, и другие платформы, такие как iOS и WP.

Тестирование


Функция была написана буквально вчера и поэтому требуется тестирование.

Для теста уведомлений через Push API нужно зайти на сайт PushAll.ru и войти используя аккаунт Google.


Сразу после входа вы попадете в каталог каналов. Сверху справа есть переключатель, включающий новую функцию.


После включения, хром запросит у вас доступ к уведомлениям. После этого надо перейти в раздел профиля и «пингануть» устройство


Отпишите мне в личку, или в комментариях, как работают уведомления. У некоторых были проблемы с работой уведомлений, и мне хотелось бы исправить ситуацию. Также проверьте уведомления на вашем Android смартфоне. Как протестируете, думаю найдете парочку интересных каналов в каталоге.

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

Перспективы


Данная функция позволяет охватить большую аудиторию пользователей. Многим сложно ставить приложение или дополнение, однако нажать пару кнопок не составит труда.
В дальнейшем я напишу специальный виджет для сайтов. Можно будет в один клик сделать сразу 4 вещи.
  • Зарегистрироваться.
  • Войти
  • Подписаться
  • Включить Push API уведомления в браузере.

То есть пользователь нажмет на кнопку, у него спросит доступ к гугл аккаунту, спросит доступ к уведомлениям — все. Пользователь готов получать уведомления. Более того, если пользователь потом-таки скачает приложение под любую другую платформу — он будет продолжать получать уведомления с вашего сайта, ну до тех пор пока сам от них не отпишется в личном кабинете. При этом мой сервис позволяет отправлять даже на мобильные устройства уведомления без установки приложения!
Only registered users can participate in poll. Log in, please.
Работают ли уведомления?
57.53% Работают42
23.29% Работают. но со сбоями17
19.18% Не работают14
73 users voted. 131 users abstained.
Tags:
Hubs:
+4
Comments13

Articles

Change theme settings

Information

Website
pushall.ru
Registered
Founded
Employees
2–10 employees
Location
Россия