Push-уведомления в Firefox 44 и выше

    image
    Теперь в личном кабинете добавилось еще одно название браузера.

    Релиз Firefox 44 намечен на 26 января, но мы уже подготовились и реализовали его поддержку, т.к. он теперь находится в beta-ветке. Мы опишем, как выглядят оповещения в Firefox и чем они отличаются от оповещений в других браузерах.

    Кстати, выглядит приходящее оповещение в Linux вот так.

    image

    Замечу, что с предыдущей версии изменился внешний вид оповещения, теперь заголовок выше картинки. Странное решение. Выглядит как то не особо красиво. Но ничего не поделаешь.



    Основное преимущество — это стандарт


    Firefox это первый браузер, который сделал оповещения по стандарту Push API. В Chrome используется проприетарный метод приёма оповещений и приделан к стандарту он костылем.

    Скорее всего скоро и другие браузеры подключатся к этому стандарту, однако Firefox все таки не выполняет некоторые предписания. Например в отображении оповещения или его параметрах.

    Man'ы описаны достаточно сумбурно и проще понять разработку по примеру — simple-push-demo.appspot.com
    Исходники есть на Github — github.com/gauntface/simple-push-demo/tree/master/app
    От себя добавлю — отличия от Chrome только в том, что переданный endpoint можно сразу использовать для отправки. А браузеры можно отличать по как раз адресу в endpoint.

    Основные недостатки


    Оповещения отправляются с сервера по одному. Если отправлять их одиночно, по одному соединению, то на каждое выходит 1 секунда. Это очень много. Это связано с использованием шифрования.

    Можно слать их используя одно соединение. По нашим расчетам 32 оповещения можно отправить за 4-6 секунд. Уже неплохо.

    В дальнейшем мы попробуем использовать многопоточный cURL для ускорения отправки. Ограничений на количество запросов я не нашел.

    Как выше писал — внешний вид ужасен. Но самое ужасное то, что они исчезают через 5 секунд. И на данный момент это не исправлено. В стандарте есть ключ

    requireInteraction: true


    При использовании этого параметра, оповещение должно «висеть», пока пользователь на него не отреагирует. Однако Firefox игнорирует этот ключ.

    Также как и в Chrome, настройки оповещений запрятаны далеко, однако есть кнопочка настроек, которая поможет отписаться от оповещений.

    Итоги


    Если брать данные StatCounter, то мы теперь поддерживаем более 70% рынка браузеров для приёма оповещений в России.

    image

    Если брать данные в мире то около 80%.

    image

    К сожалению, для IE нет даже Notification API. К счастью — у нас в планах есть версия под Windows. Также надеемся, что Opera либо вернет GCM в свой хром, либо воспользуется открытым стандартом.
    Также не стоит забывать о том, что у нас уже есть также реализованная поддержка Android, Safari, Telegram и даже оповещения по Email. Надеемся что скоро мы доделаем приложение под iOS и проведем обновление Android приложения.

    Попробовать все можно на нашем сайте

    Only registered users can participate in poll. Log in, please.

    Опрос для пользователей Firefox >44 версии

    • 46.7%Оповещения на Firefox работают14
    • 26.7%Оповещения на Firefox не работают8
    • 26.7%Оповещения на Firefox работают, но не так как хотелось бы8
    PushAll
    Платформа подписки на Push-уведомления
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 9

      0
      Основное преимущество — это стандарт
      Где? что-то я не вижу нативного уведомления. У меня сейчас, благодаря расширению, работают как раз системные.
        0
        Имеется в виду w3c. По сути реализация у FF сейчас такая, так оно не привязано с серверам Mozilla. В опере могут сделать свою реализацию push сервера и она будет работать без обновления кода.
        0
        Я как раз таки недавно использовал Notification API в кабинете менеджера для одного из интернет магазинов. Долго не мог понять и найти ответ почему же в FF уведомления пропадали через 5с, а надо было как разтаки что бы они висели пока манагер сам не закроет. Тогда было принято решение что бы использовался только хром. Сейчас пойду допилю по FF
          0
          «Долго не мог понять и найти ответ почему же в FF уведомления пропадали через 5с, » Так проблема до сих пор не решена. Mozilla что то не хочет этому стандарту следовать. Вроде как некоторые предлагают костыль — каждые 5 секунд пересоздавать оповещение, если оно не было закрыто.
            0
            Точно, перечитал статью, в прошлый раз пропустил кусок
            Как выше писал — внешний вид ужасен. Но самое ужасное то, что они исчезают через 5 секунд. И на данный момент это не исправлено. В стандарте есть ключ

            requireInteraction: true

            При использовании этого параметра, оповещение должно «висеть», пока пользователь на него не отреагирует. Однако Firefox игнорирует этот ключ.
        0
        Загрузки Simple-push-demo дожидался минут пять, poweredby.yahoo.com/purple.png, из-за которого всё стояло, так и не ответил. Подумал вполголоса: и какой *** так сайты пишет? Заглянул в исходник: «Copyright 2015 Google Inc». Даже не знаю… Кто-то один из нас явно неправ…
          0
          Там просто кейс это пуши с погодой от Yahoo. А вообще странно что у вас лого Yahoo не загрузилось, мб что то где то заблокировано? У меня все отлично грузится.
            0
            А, тогда ок.

            М.быть, кто его разберёт. Trace умирает в Москве, на серверах голден-телекома, а это те ещё умельцы…

        Only users with full accounts can post comments. Log in, please.