Альфа-версия SocketPush — универсальные уведомления для всех браузеров + 3 миллиона бесплатных уведомлений
Мы обнаружили, что ряд браузеров вообще не имеет в своём арсенале встроенный GCM-сервис. Среди них, к примеру, Опера, Вивальди, Firefox.
В Safari есть APNS, но мы реализуем работу через него чуть позже.
Также сегодня был яркий пример необходимости этой функции — один из пользователей пожаловался, что у него на работе не работают пуши: ни веб, ни через дополнение. Все дело в том, что у него на работе заблокированы все лишние порты.
В нашем случае, сокет работает через проксирующий nginx на 443 порту и не блокируется фильтрами.
Нам необоходимо небольшое нагрузочное тестирование, а также проверить все ли уведомления приходят нужным адресатам.
Данные уведомления проверены мною в chrome и firefox. Необходима проверка в edge, ie (хотя сомневаюсь, что будет работать) и конечно safari.
Прежде всего это удобный метод включить уведомления «на время», а потом выключить их закрытием вкладки. В отличии от других способов, данный метод не работает при закрытой вкладке или окне браузера.
По поводу включения, и немного о архитектуре — подробнее под катом.
В верхнем правом углу, после авторизации, есть значок вопроса. Нужно нажать на него и выбрать «Включить до закрытия вкладки», после чего разрешить уведомления в хроме.
За основу взята статья — Делаем вебсокеты на PHP с нуля
Я сделал мастер, который отслеживает все запросы к сокету, и воркер, который слушает redis-подписку для приёма команд на отправку оповещений, добавления или удаления пользователя.
Причем мастер слушает общий сокет с воркером, а воркер в этот сокет только пишет, когда нужно отправить оповещение. В свою очередь мастер слушает также сокеты подключенных пользователей и сокет для соединения.
Это позволяет в 2х процессах проверять и сокеты, новые уведомления и общаться между двумя процессами без каких-либо блокировок.
В Unicast пока что нет поддержки этой функции, сделано для того, чтобы личные, важные пуши не улетели куда не надо в случае сбоев альфа-версии.
- Временный метод получения уведомлений
- Получение уведомлений на неподдерживаемых браузерах
- Различные плагины для других браузеров, в первую очередь, сделаем плагин для FF
- Стационарный клиент для компьютеров
Включите уведомления как сказано в первом разделе. Потом в профиле попробуйте сделать пару раз пинг по SocketPush. Потом попробуйте в администрировании через тестовую форму внизу сделать тестовое уведомление. Подпишитесь на каналы, проверьте как с них будут идти оповещения.
Отпишите как работает в различных браузерах. Можно в комментариях, или в нашем сообществе Google+
Мы немного перепутали, оказывается в прошлый раз мы уменьшили число оповещений с 5к в день, до 3к в день. Теперь мы поднимаем до 100к в день.
То есть каждый месяц вы можете бесплатно рассылать 3 миллиона уведомлений.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.