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

Битрикс24

www.bitrix24.ru

22
Отследить-посылку

Отследить-посылку

B2B-сервис трекинга посылок

13
WebResidentTeam

WebResidentTeam

webresident.agency

12
Devicerra

Devicerra

devicerra.com

12
Perezvoni.com

Perezvoni.com

perezvoni.com

11
Expresso

Expresso

www.expresso.today

11
myPreza

myPreza

mypreza.ru

9
Reader

Reader

Интернет-журнал о современных технологиях.

9
ADN Digital Studio

ADN Digital Studio

adn.agency

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

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

994 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
Комментариев еще не оставлено
Выбрать файл
Читайте далее
Загружаем…
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать