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


    Мы обнаружили, что ряд браузеров вообще не имеет в своём арсенале встроенный 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 миллиона уведомлений.

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Работают универсальные уведомления?

    PushAll

    21,98

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

    Поделиться публикацией
    Комментарии 5
      0
      тестилка уведомлений со страницы Администрирования не работает в FF — после нажатия на «Отправить» происходит редирект на главную. но сами SocketPush'ы работают, если нажать на ссылку «Пинг»
        0
        Значит бага в форме. Помню в одном месте я правил это в этой форме значит нет. Тогда видимо без этого теста придётся обойтись. Хотя может сейчас с телефона исправлю. Буду за ноутом только к вечеру.
          0
          Поправил тестилку. Попробуйте Интересует кстати больше всего edge и Safari. Т.к. в FF и хроме уже тестировал.

          Я думаю это будет неплохое решение, учитывая что сервис универсальный. Многие кстати и так держат открытую вкладку PushAll.
            0
            к сожалению, ни Safari, ни Edge у меня нигде не имеется.
          +7
          Комментарии и опрос похожи на таску для тестировщиков и переписку в Jira.

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое