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

Альфа-версия SocketPush — универсальные уведомления для всех браузеров + 3 миллиона бесплатных уведомлений

Reading time 2 min
Views 7.1K

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

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

Нам необоходимо небольшое нагрузочное тестирование, а также проверить все ли уведомления приходят нужным адресатам. Данные уведомления проверены мною в chrome и firefox. Необходима проверка в edge, ie (хотя сомневаюсь, что будет работать) и конечно safari.

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

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


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

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


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

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

В Unicast пока что нет поддержки этой функции, сделано для того, чтобы личные, важные пуши не улетели куда не надо в случае сбоев альфа-версии.

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


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


Как тестировать?


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

Отпишите как работает в различных браузерах. Можно в комментариях, или в нашем сообществе Google+

3 миллиона уведомлений каждый месяц


Мы немного перепутали, оказывается в прошлый раз мы уменьшили число оповещений с 5к в день, до 3к в день. Теперь мы поднимаем до 100к в день.

PS. В сафари протестировали — оно работает.



А вот в Edge похоже работать и не будет, мне сообщили, что он даже не запрашивает доступ к уведомлениям, то есть похоже он вообще не поддерживает их.

То есть каждый месяц вы можете бесплатно рассылать 3 миллиона уведомлений.
Only registered users can participate in poll. Log in, please.
Работают универсальные уведомления?
45.83% Работает в Chrome 11
20.83% Работает в Firefox 5
8.33% Работает в Safari 2
4.17% Работает в Edge 1
25% Не работает в Chrome 6
25% Не работает в Firefox 6
20.83% Не работает в Safari 5
25% Не работает в Edge 6
0% Работает в другом браузере 0
29.17% Не работает в другом браузере 7
24 users voted. 89 users abstained.
Tags:
Hubs:
+7
Comments 5
Comments Comments 5

Articles

Information

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