Лучшие статьи и кейсы стартапов
Включить уведомления
Дадим сигнал, когда появится
что-то суперстоящее.
Спасибо, не надо
Вопросы Проекты Вакансии
Платформа мгновенных уведомлений.
Рекомендуем
Продвинуть свой проект
Лучшие проекты за неделю
30
Эбиа

Эбиа

www.ebia.ru

21
YAGLA

YAGLA

yagla.ru

16
Cookiezz

Cookiezz

cookiezz.com.ua

15
Enlite

Enlite

enlited.ru

15
likearea

likearea

smm.li

15
SE Ranking

SE Ranking

seranking.ru

11
Relap

Relap

relap.io

11
Perezvoni.com

Perezvoni.com

perezvoni.com

11
E-Commerce and Venture projects

E-Commerce and Venture projects

Продажа товаров от производителей оптом и в розницу

Показать следующие
Рейтинг проектов
Подписывайтесь на Спарк во ВКонтакте

SocketPush - универсальные оповещения в любом браузере при открытой вкладке

1 008 0 В избранное Сохранено
Авторизуйтесь
Вход с паролем
Мы сделали решение на веб-сокетах, которое позволяет принимать оповещения от PushAll просто открыв вкладку. Самое главное - это дает поддержку пушей в Firefox, Safari (без APNS), Opera и других браузеров кроме EDGE.

Мы обнаружили, что ряд браузеров вообще не имеет в своём арсенале встроенный GCM-сервис. Среди них, к примеру, Опера, Вивальди, Firefox. В Safari есть APNS, но мы реализуем работу через него чуть позже.

Также недавно был яркий пример необходимости этой функции — один из пользователей пожаловался, что у него на работе не работают пуши: ни веб, ни через дополнение. Все дело в том, что у него на работе заблокированы все лишние порты. В нашем случае, сокет работает через проксирующий nginx на 443 порту и не блокируется фильтрами.

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

Также это удобный метод обхода блокировок, не везде открыты порты, а иногда бывает и вообще GCM глючит, теперь мы имеем свой Push-сервер!

Как включить?

Жмете на знак ? сверху справа

b_562d6f1cde845.jpg

И появляется справка, там жмете внизу - активировать устройство.

b_562d6ef661266.jpg

Вам сразу придет запрос на доступ к оповещениям.

ВСЕ! Этот метод будет работать на Chrome, всех браузерах основанных на Chrome, Safari, Firefox, Opera и т.д. Не работает на IE и EDGE - похоже MS вообще решили Notification API туда не вставлять. Но эта проблема решаема - мы потом будем делать приложение под Windows.

Как это работает?

За основу взята статья — Делаем вебсокеты на PHP с нуля

Я сделал мастер, который отслеживает все запросы к сокету, и воркер, который слушает redis-подписку для приёма команд на отправку оповещений, добавления или удаления пользователя.

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

Это позволяет в 2х процессах проверять и сокеты, новые уведомления и общаться между двумя процессами без каких-либо блокировок.

При этом передаются не сами оповещения, а лишь запрос на проверку. А сам клиент уже делает проверку.

Если в течении часа не было передано данных - соединение рвется, клиент снова присоединяется и делает проверку.

Также если у клиента включено устройство в профиле - сокет будет подниматься при открытии вкладки, при отключении устройства в профиле - сокет выключается также.Все просто.

Где будет применяться?

  • Временный метод получения уведомлений
  • Получение уведомлений на неподдерживаемых браузерах
  • Различные плагины для других браузеров, в первую очередь, сделаем плагин для FF
  • Стационарный клиент для компьютеров

При помощи этого метода мы получаем охват практически 100% десктопных браузеров!

Мобильные платформы, не поддерживают notification api, но их будем охватывать приложениями.

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

+2
Комментариев еще не оставлено
Выбрать файл
Читайте далее
Загружаем…
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать