Не работают пуш уведомления на chrome. Отключение push-уведомлений в Google Chrome. Отключение пуш-уведомлений для Android

С 2015 года начала стремительно набирать популярность технологияPush API от Chrome. Все чаще, заходя на различные новостные (и не только новостные) сайты, посетителям вылетает вот такой системный фрейм с запросом:

Системное окно Google Chrome, запрашивающее разрешение на доставку уведомлений от сайта.

Я искренне считаю этот канал доставки контента (или привлечения пользователей, называйте как хотите) одним из самых перспективных. Возможно даже, через пару лет эти пуши будут таким же обязательным атрибутом каждого уважающего себя новостного сайта, коими сегодня являются RSS и паблики в социальных сетях.

Однако сегодня эта технология еще довольно молода и руководств по её использованию мало не только в отечественном интернете, но и в зарубежном. Для примера далеко ходить не надо - даже сам “Google”, когда анонсировал Push API, выпустил до слёз скудный пресс-релиз. И только сейчас, несколько часов покопавшись в гугловских FAQ для разработчиков, можно собрать информацию, чтобы собрать худо-бедно работающие скрипты для отправки Push-уведомлений своим читателям.

Как же сделать такие Push-уведомления для своего сайта? Тут есть два пути: использовать сторонние сервисы (они уже есть и некоторые из них очень даже неплохи) или создать собственное решение. Поскольку я сторонник минимального использования сторонних сервисов на сайте, то наш путь вГородебыл предрешен.

Но, ради справедливости, стоит замолвить пару словечек и о внешних решениях. Признаюсь, я не очень изучал этот рынок (причина названа чуть выше), однако нельзя не упомянуть сервисOneSignal, самая привлекательная черта которого в том, что их услуги абсолютно бесплатны - зарабатывают они на продаже данных о посетителях клиентского сайта. Так же есть сервисJeapie , на их стороне очень грамотный маркетинг и, как правило, хорошие отзывы. Однако стоит отметить, что в свое время от их услуготказаласьМедуза - Платформа была попросту не готова к тому количеству пушей, которые приходилось отправлять для огромной аудитории Медузы.

Реализация. Получение учетных данных от Google.

В исходных данных сайт, написанный наRails 3.2.8 и задача сделать на нём пушер уведомлений для Chrome.

Первым делом необходимо перевести сайт на HTTPS (защищённый гипертекстовый протокол), то есть сделать для своего сайта SSL-сертификат. Без него пуши работать не будут (не проверял с обычным http, но так везде пишут). О том, что такое SSL, с чем его едят, как поставить сертификат на сервер и подключить его, я писать не буду - интернет пестрит подобными статьями. Лишь порекомендую для этих целейStartSSL . Это хороший Удостоверяющий центр, с которым дружат все известные мне браузеры, с нарочито простой процедурой регистрации и верификации (нужно лишь минимально знать английский язык) для получения абсолютно бесплатного SSL-сертификата начального уровня, в который можно включить еще пять(sic!) субдоменов.

Итак, мы получили сертификат и соответствующим образом настроили свой Nginx или Apache. Теперь в адресной строке браузера рядом с адресом нашего сайта горит зелёненьким симпатичнейший замочек, надписьhttps://, и, если вам не жалко денег, еще название организации.

Далее идем вGoogle Сloud Platform , где регистрируем новый проект, назвав его, например, MySite-Push.

Создание нового проекта в Coogle Cloud Platform

Через несколько секунд, когда проект будет создан, через разделПодключение к API Google , по ссылкеВключить и настроить API переходим в раздел, где целый список методов API для всех сервисов Google. Там мы должны включить методGoogle Cloud Messaging из раздела Mobile API.

МетодGoogle Cloud Messaging из раздела Mobile API

Скорее всего, при подключении к методу, Google попросит зарегистрировать дополнительные данные. Например, попросит уточнить откуда будет вызываться API, тогда мы указываем необходимый нам тип обработчика (например, Веб-сервер).

После чего указываем IP сервера (если спросит) и генерируем закрытый ключ, по которому будет происходить авторизация запросов. Этот ключ, разумеется, нам в будущем понадобится.

Сгенерированный закрытый ключ для доступа к Google API

После нажатия кнопкиГотово мы окажемся на странице, где нужно будет указать домен и подтвердить на него права через инструменты Search Console. Об этом тоже довольно много статей в интернете, да и сама процедура интуитивно понятна. Так что не будем здесь останавливаться.

По сути, нам больше от Coogle Cloud Platform ничего и не надо. Ключ и идентификатор.

Реализация. Первичная настройка сайта.

Теперь в корневую папку нашего сайта нам нужно добавить файлmanifest.json, в котором будет указано следующее:

{ "name": "mysite.ru Push test", // Название сайта "display": "standalone", // Указываем, где показывать уведомления "gcm_sender_id": "258466066904" // Тот самый идентификатор приложения в Google Cloud Platform }

Это самый необходимый минимум информации для манифеста. Можно погуглить и , какие дополнительные параметры там можно указывать.

Ну и добавить в секцию мета-тег со ссылкой на манифест:

Теперь там же, в корневой папке, создаем файлpush.js, куда вписываем вот такой код:

"use strict"; function SendPushMe() { if ("serviceWorker" in navigator) { console.log("Service Worker is supported"); navigator.serviceWorker.register("/sw.js").then(function() { return navigator.serviceWorker.ready; }).then(function(reg) { console.log("Service Worker is ready:^)", reg); reg.pushManager.subscribe({userVisibleOnly: true}).then(function(sub) { console.log("endpoint:", sub.endpoint); $.get("https://mysite.ru/createpushadresat?adresat=" + sub.endpoint, function(data) {}); }); }).catch(function(error) { console.log("Service Worker error:^(", error); }); } }

Что делает этот код? При вызове метода SendPushMe() он проверяет поддерживает ли браузер подписку на пуши. Затем, если поддерживает (в лог-консоли разработчика появится сообщение “Service Worker is supported ”, в противном случае там же появится сообщение об ошибке), попытается зарегистрироватьService Worker , который скоро появится по адресу/sw.js. Именно в этот момент пользователь увидит запрос от браузера на подтверждение действия. Затем, если пользователь даст согласие, воркер будет зарегистрирован, а по адресуhttps://mysite.ru/createpushadresat GET-запросом в переменнойadresat будет передан уникальный идентификатор браузера. Он же отобразится в лог-консоли разработчика.

Теперь создадим Service Worker. Это будет файлsw.js в корневой папке:

"use strict"; self.addEventListener("install", function(event) { event.waitUntil(self.skipWaiting()); }); self.addEventListener("push", function (event) { event.waitUntil(fetch("/latest.json").then(function (response) { if (response.status !== 200) { console.log("Latest.json request error: " + response.status); throw new Error(); } return response.json().then(function (data) { if (data.error || !data.notification) { console.error("Latest.json Format Error.", data.error); throw new Error(); } var title = data.notification.title; var body = data.notification.body; var icon = "https://mysite.ru/my_beautiful_push_icon.png"; return self.registration.showNotification(title, { body: body, icon: icon, data: { url: data.notification.url } }); }).catch(function (err) { console.error("Retrieve data Error", err); }); })); }); self.addEventListener("notificationclick", function (event) { event.notification.close(); var url = event.notification.data.url; event.waitUntil(clients.openWindow(url)); });

Этот код после его вызова создает уведомление, данные для которого берет из файлаlatest.json, расположенного по адресуhttps://mysite.ru/latest.json. Если запрос этого файла не удался, или сайт ответил невалидным json, в лог-консоли разработчика появится соответствующая запись. Если же все хорошо, будет сформирован пуш. Пуш формируется из переменныхbody  - это короткое текстовое сообщение,title  - заголовок пуша,url  - ссылка, по которой перейдет пользователь при клике на уведомление иicon  - красивой и восхитительной (желательно квадратной, со стороной не меньше 150px) иконкой, на которой будет показан логотип сайта. Причем конкретно в этом скриптеicon  - статичный параметр, а все остальные динамично обновляются изlatest.json .

Можно скрипт чуть передать, чтобы и иконка была динамичным параметром, но, как мне кажется, это будет абсолютно лишним, лучше уведомления брендировать, чем снабжать изображением, которое толком и не рассмотришь в небольшом пуше.

Ну и, наконец, создаемlatest.json, из которого и будет браться информация для уведомлений. Думаю, не трудно догадаться, что лежать он будет в корневой папке. А вот и его содержимое:

{"notification":{"url":"https://mysite.ru/posts/1","title":"Крутейшая новость","body":"Мы сделали офигительную подписку для Chrome"},"_id":319}

Полагаю, объяснять что есть что в этом json’е нет смысла, всё и так понятно.

По идее, уже сейчас наш сайт, а вернее его фронтенд, практически полностью готов. Осталось лишь научиться говорить Google, что у нас появились новые обновления, чтобы тот, в свою очередь, сообщал об этом браузерам наших подписчиков. Ну и, разумеется, динамически обновлять нашlatest.json . Однако, это уже в следующей части.

P.S. Кстати, уже сейчас можно вызвать SendPushMe() и посмотреть, что произойдет. Для этого, например, можно создать ссылку, по клику которой будет этот метод и вызываться:

Вызвать SendPushMe

И, если все сделано правильно, за кликом по такой ссылке высветится системное окошко с запросом:

Но не спешите пока давать разрешение. Нажмите на крестик и пока закройте окошко.

Если вы уже нажали, то откройте настройки сайта (нажав на зеленый замочек в адресной строке, если кто не знает) и в пункте “Оповещения” верните Глобальный параметр по умолчанию (“Спрашивать”).

Теперь откройте консоль разработчикаF12 -> Console . Далее нажмите снова ссылку “Вызвать SendPushMe”.

В консоли должны последовательно появиться две строки, содержащие “Service Worker is supported ” и “Service Worker is ready ” соответственно. А сам браузер должен вновь запросить разрешение. И вот теперь можно дать своё согласие.

В итоге в вашей консоли разработчика должны появиться три таких записи:

Лог подписки на Push в браузере Chrome

Если помните, скриптpush.js отправляет GET-запрос. Именно Endpoint и передаётся серверу с этим запросом. Чуть позже мы научим сайт запоминать их, чтобы мы могли отправлять по этим идентификаторам пуши.

Что мы теперь имеем? У нас есть полноценный подписчик на уведомления от сайта и мы теперь умеем вычленять идентификаторы подписавшихся. Теперь сам Бог велел попробовать послать себе самому уведомление.

Для этого нужно сказать Google о новом уведомлении, а он, в свою очередь, сообщит об этом нашим подписчикам (или одному единственному, как сейчас у нас).

Google уведомляется специальным POST запросом наhttps://gcm-http.googleapis.com/gcm/send вот в такой форме:

Content-Type:application/json Authorization:key=A...A //Закрытый ключ нашего приложения, который мы получили в прошлой части. { "to" : "bk3RNwTe3H0:CI2k_...", // Уникальный идентификатор подписчика. "data" : { "title": "Portugal vs. Denmark", // Данные для уведомления "text": "5 to 1" }, }

Как можно догадаться, этот запрос уведомляет одного конкретного подписчика, причем данные для уведомления передает прямо в запросе. Однако, у нас содержимое уведомления берется из latest.json. Да и отправлять каждому подписчику персональный запрос слишком жирно. Хотя, если вам нужно отправлять индивидуальные и персональные уведомления, этот вариант как-раз вам подойдет. Однако мы будем отправлять запросы пакетно, для чего используем вот такую схему:

Content-Type:application/json Authorization:key=A...A //Закрытый ключ нашего приложения, который мы получили в прошлой части. { "registration_ids" : { [...] // Массив идентификаторов подписчиков. }, }

В таком варианте, поскольку запрос не содержит данных для самого уведомления, браузер будет обращаться к Service Worker, от которого и будет получать информацию.

Давайте через терминал (SSH-консоль) сформируем и отправим запрос:

curl --header "Authorization: key=AI...3A" \ --header Content-Type:"application/json" \ https://gcm-http.googleapis.com/gcm/send \ -d "{\"registration_ids\":[\"cym...W3\"]}"

SSH-консоль с отправленным POST-запросом и появившийся от него Push

На этом скриншоте видно и сам запрос и его итог - пришедшее спустя секунду уведомление.

Да, мы это сделали - самая главная и, кажется, малопонятная часть позади. Дальнейшая работа в этом направлении будет зависеть от того, на чём написан ваш сайт. И, если ваш сайт написан на Rails, то нам с вами всё еще по пути. Если же нет, то не торопитесь прощаться: в следующей заключительной части я еще вернусь к тем вопросам по теме Веб-уведомлений, решение которых будет полезно знать веб-разработчикам любой специализации.

Итак, Push-уведомления Chrome для сайта на Ruby On Rails

Сначала скажу, что пример этого кода валиден для сайта на Rails 3.2.8!

По сути, нам нужно сделать:

  • Функционал, чтобы наш сайт запоминал идентификаторы подписчиков;
  • Модель для создания push-уведомлений;
  • Динамически обновляемый latest.json;
  • Ну и добавить в контроллер пару строк кода, который будет при создании нового Push’а отправлять POST-запрос на сервер Google.
  • Если вы забыли, напомню, что в первой части мы сразу добавили вpush.js строчку для формирования GET-запроса к нам на сайт, который передаёт идентификатор браузера каждого вновь подписавшегося человека.

    Теперь сделаем так, чтобы наш сайт понимал, что это за запрос и сохранял данные. Первым делом создадим модель и контроллер дляPushsubscriber :

    Rails g model pushsubscriber browserkey:string rake db:migrate rails g controller pushsubscribers create delete

    Match "/createpushadresat", to: "pushsubscribers#create", via: :get

    Теперь наш сайт переадресует входящие GET-запросы в контроллерpushsubscribers , где он будет обрабатываться методомcreate . Настроим же его:

    def create @newsubscriber = Pushsubscriber.new(:browserkey => URI(params[:adresat].to_s).path.split("/").last) if @newsubscriber.save? render:text => "ok" else render:text => "fail" end end

    Сразу скажу, этот код лишь для того, чтобы показать, в каком направлении нужно разрабатывать. Он практически ничего не проверяет и не использует ни валидаторы, ни регекспы - не используйте его в таком виде. Проверяется лишь, чтобы входящий параметр содержал данные в виде ссылки, а затем из этой ссылки вычленяется последний после слэша участок и сохраняется в базе. Именно в таком видеpush.js передаетEndpoint . И именно в последней секции (за слэшем) endpoint’а содержится идентификатор браузера.

    Итак, люди начали подписываться на наши обновления и теперь наша База данных пополняется идентификаторами. Пора начать рассылать им уведомления:

    Rails g scaffold notification title:string bodytext:string url:string succescount:integer rake db:migrate

    Эта команда Скаффолдом создаст нам минимально работающую модельnotification c полямиtitle ,bodytext ,url иsuccesscount . Первые три - соответственно заголовок, текст и ссылка будущего оповещения, аsuccesscount  - количество успешно переданных пушей, которое нам будет любезно сообщать Google. Так же будут созданы контроллер с вьюхами для этой модели. Разумеется там еще нужно будет вписать сгенерированные вьюхи в общий дизайн сайта, а контроллер “огородить”before_filter ’ами, чтобы “пушить” могли только люди с соответствующим доступом. Но это вы уже будете решать индивидуально. А сейчас мы лишь чуть-чуть(на самом деле совсем не чуть-чуть) исправим метод create вnotifications_controller.rb :

    require "open-uri" require "multi_json" require "uri" def create @notification = Notification.new(params[:notification]) if @notification.save @adresats = Pushsubscriber.all.collect(&:browserkey) @keys = "{"registration_ids":"[email protected]_json+"}".as_json uri = URI.parse("https://android.googleapis.com/gcm/send") http = Net::HTTP.new(uri.host,uri.port) http.use_ssl = true req = Net::HTTP::Post.new(uri.path) req["Authorization"] = "key=A...A" # Тут вписывается закрытый ключ req["Content-Type"] = "application/json" res = http.request(req, @keys) parsed_json = ActiveSupport::JSON.decode(res.body) @notification.update_attribute(:success, parsed_json["success"].to_i) end redirect_to notifications_path end

    Этот код, если создано и сохранено новое уведомление (@notification), формирует и передает POST-запрос для Google (точно так же, как мы делали это выше), в котором в формате json по спецификации Google передаются ВСЕ идентификаторы наших подписчиков. Затем нам должен ответить Google своим json’ом. Из которого отпарсивается секция success, из которой сохраняется число - количество успешно переданных пушей. Так же там передается секция failure, в которой, соответственно, хранится число по той или иной причине недоставленных пушей. Вообще, можно самому посмотреть какие данные передает Google, может что-то еще решите сохранить.

    И, как и в прошлый раз, данный код не учитывает, что Google может не ответить, или ответить сообщением об ошибке, а не валидным для парсинга json’ом. Учтите в своей разработке подобные случаи.

    Ну а теперь пробуем создать на своем сайте пуш через форму Notification.new (созданную Скаффолдом) и… ВУАЛЯ! Система работает - нам пришло уведомление!

    Правда содержимое для этого уведомления все еще берется из статичногоlatest.json . Осталось последнее - заставить этот файл обновляться динамически. Как это сделать? Очень просто, ведь у нас уже есть модель Notification, а вlatest.json должно содержаться именно наше последнее Уведомление (то есть Notification.all.last). Для этого удаляем наш статический latest.json из корневой папки сайта и добавляем вroutes.rb следующий маршрут:

    Match "/latest.json", to: "notification#latestpush", via: :get

    То есть теперьlatest.json будет формироваться методомlatestpush в контроллереnotification . Создадим этот метод:

    Def latestpush @push = Pushnotification.all.last render json: "{"notification":{"url":""[email protected]_s+"","title":""[email protected]_s+"","body":""[email protected]_s+""},"_id":"[email protected]_s+"}".as_json end

    Теперь создадим еще одно уведомление через форму Notification.new. И, наконец, мы видим в углу монитора пуш именно с тем содержимым, которое только что вбили в форму.

    Казалось бы, это все? Все, да не совсем. Во-первых, мы сделали подписку, но не сделали отписку - будьте честны и предоставьте посетителям сайта такую возможность. Во-вторых, подписку-то мы сделали, но она пока малоинформативна и показывается всем, а не только пользователям Chrome, для которых подписка и делается. Ну и в-третьих, мы сделали на своем сайте очень интересную игрушку, у которой есть свои правила использования. Вот об этом всем мы и поговорим в следующей, третьей и, наконец-то, заключительной части нашего повествования оChrome push API .

    Активные интернет-пользователи знают, что при посещении различных веб-ресурсов можно столкнуться как минимум с двумя проблемами – надоедливой рекламой и всплывающими уведомлениями. Правда, рекламные баннеры демонстрируются вопреки нашим желаниям, а вот на постоянное получение назойливых push-сообщений каждый подписывается самостоятельно. Но когда таких уведомлений становится слишком много, возникает необходимость их отключить, и в браузере Гугл Хром это можно сделать довольно легко.

    С одной стороны, пуш-оповещения – функция весьма удобная, так как позволяет быть в курсе различных новостей и прочей интересующей информации. С другой же, когда они приходят с каждого второго веб-ресурса, а вы как раз заняты чем-то, что требует внимания и концентрации, эти всплывающие сообщения могут быстро надоесть, а их содержимое все равно будет проигнорировано. Расскажем о том, как их отключить в десктопной и мобильной версии Хрома .

    Google Chrome для ПК

    Для отключения уведомлений в настольной версии веб-обозревателя потребуется выполнить несколько простых действий в разделе настроек.


    Для выборочного отключения в части «Блокировать» нажмите по кнопке «Добавить» и поочередно введите адреса тех веб-ресурсов, от которых вы точно не хотите получать пуши. А вот в части «Разрешить» , наоборот, можно указать так называемые доверенные веб-сайты, то есть те, от которых вы хотели бы получать push-сообщения.

    Теперь вы можете выйти из настроек Google Chrome и наслаждаться интернет-серфингом без навязчивых уведомлений и/или получать пуши только от выбранных вами веб-порталов. Если требуется отключить сообщения, которые появляются при первом посещении сайтов (предложения подписаться на новостную рассылку или нечто подобное), выполните следующее:


    Как только вы выполните необходимые действия, вкладку «Настройки» можно закрывать. Теперь, если вы и будете получать push-уведомления в своем браузере, то только от тех сайтов, которые вам действительно интересны.

    Google Chrome для Android

    Запретить показ нежелательных или навязчивых пуш-сообщений можно и в мобильной версии рассматриваемого нами браузера. Для этого потребуется выполнить следующее:

  • Запустив Гугл Хром на своем смартфоне, перейдите в раздел «Настройки» точно таким же образом, как это делается на ПК.
  • В разделе «Дополнительные» найдите пункт «Настройки сайтов» .
  • Затем перейдите в пункт «Уведомления» .
  • Активное положение тумблера говорит о том, что прежде чем начать присылать вам push-сообщения, сайты будут запрашивать разрешение. Деактивировав его, вы отключите и запрос, и уведомления. В разделе «Разрешены» будут показаны сайты, которые могут отправлять вам пуши. К сожалению, в отличие от десктопной версии веб-обозревателя, возможность настройки здесь не предусмотрена.
  • Выполнив необходимые манипуляции, вернитесь на шаг назад, нажав направленную влево стрелку, расположенную в левом углу окна, или соответствующую кнопку на смартфоне. Перейдите к разделу «Всплывающие окна» , который находится немного ниже, и убедитесь, что переключатель напротив одноименного пункта деактивирован.
  • Снова вернитесь на шаг назад, пролистайте перечень доступных параметров немного вверх. В разделе «Основные» выберите пункт «Уведомления» .
  • Здесь можно выполнить тонкую настройку всех отправляемых браузером сообщений (небольшие всплывающие окошки при выполнении тех или иных действий). Вы можете включить/отключить звуковое оповещение для каждого из таких уведомлений либо полностью запретить их показ. При желании это можно сделать, но мы все же не рекомендуем. Те же уведомления о скачивании файлов или переходе в режим инкогнито появляются на экране буквально на долю секунды и пропадают, не создавая никакого дискомфорта.
  • Пролистав раздел «Уведомления» ниже, вы сможете увидеть список сайтов, которым разрешен их показ. Если в перечне присутствуют те веб-ресурсы, push-оповещения от которых вы не желаете получать, просто деактивируйте тумблер напротив его названия.
  • На этом все, раздел настроек мобильного Google Chrome можно закрывать. Как и в случае с его компьютерной версией, теперь вы не будете получать уведомления вообще либо же будете видеть только те, что отправлены с интересующих вас веб-ресурсов.

    Заключение

    Как видите, нет ничего сложного в том, чтобы отключить push-уведомления в Гугл Хром. Радует то, что сделать это можно не только на компьютере, но и в мобильной версии браузера. Если вы пользуетесь устройством на iOS, описанная выше инструкция для Android вам тоже подойдет.

    Push уведомления появляются в окне браузера даже если в момент их отправки вы были офлайн. Это отличный маркетинговый инструмент для продвижения товаров и услуг вашего бизнеса. Несмотря на это, они могут раздражать пользователей, если сопровождаются звуковым уведомлением. О том, как их отключить, читайте далее.

    Как включить или отключить веб пуш уведомления в Google Chrome Перейдите в настройки браузера

    Нажмите на значок настроек справа в окне вашего браузера и выберите «Настройки».

    Выберите дополнительные настройки

    Опуститесь вниз страницы и выберите «Дополнительные настройки».

    Выберите Настройки контента

    Нажмите «Настройки контента» под разделом «Конфиденциальность и безопасность».

    Выберите Оповещения

    Нажмите «Оповещения».

    Здесь вы можете добавить сайты, оповещения которых хотите получать или заблокировать сайты, чьи оповещения вас не интересуют.

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

    Используйте push уведомления, чтобы оповестить клиентов о товарах, которые снова в наличии, распродажах и последних публикациях на вашем блоге.

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

    Push уведомления в SendPulse

    Отправка уведомлений в нашем сервисе бесплатная - в любом количестве и навсегда! Если вы уже занимаетесь email маркетингом, используйте push как дополнительный канал доставки сообщений. Например, вы отправили письмо со скидкой к особому дню в канун праздника, а подписчик его не открыл. Отправьте push уведомление в день X и у вас будет больше шансов повысить продажи.

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

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

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

    Это так называемые push-уведомления, они же web-push – современный инструмент и интернет-маркетологов. И удобнейшее средство информирования пользователей, которые хотят держать руку на пульсе интересующих их событий.

    Push-уведомления что это?

    Push-уведомления – это краткие всплывающиеуведомления, которые появляются на экране обычного компьютера или мобильного телефона и сообщают о важных событиях и обновлениях.

    При клике на push-уведомление, которое пришло пользователю, новости сайтов тотчас же открываются в окне , и пользователи в числе первых могут познакомиться с только что выложенной в сеть информацией. А иногда это важно – быть в числе первых пользователей, владеющих полезной информацией.


    Рис. 1. Как выглядят Push-уведомления

    Пуш-уведомления на сайтах включают владельцы сайтов, а пользователи могут управлять пушами через настройки своего браузера. Если вебмастер не включил push на сайте, то у пользователя нет возможности (или необходимости) их использовать, настраивать и т.п.

    В чём заключаются преимущества пуш-уведомлений по сравнению с другими способами доставки свежей информации? Как управлять таким средством информирования в десктопных браузерах Google Chrome, Mozilla Firefox или в аналогичных им? Рассмотрим ниже эти вопросы.

    Преимущества push-уведомлений

    Выгоды реализации push-уведомлений на сайтах для их владельцев, то есть, для вебмастеров очевидны. Дело в том, что немногие средства информирования могут обеспечить 90%-ную доставку сообщений пользователю и почти 50%-ную .

    А вот какую пользу получает читатель того или иного сайта?

    Push-уведомления для некоторых пользователей могут быть более удобны, чем подписка на обновления сайта по E-mail. Сообщения, приходящие с разных сайтов, не скапливаются в почтовом ящике и не усложняют доступ к личной переписке.

    Если в данный момент на прочтение новости у пользователя нет времени, то кликнув на push-уведомление, он может открыть страницу в окне браузера и оставить её до удобного момента. Или отправить в сервис отложенного чтения типа Pocket или Readability.

    Одним из недостатков подписки на новости сайтов по E-mail является скопление писем о новых статьях в почтовом ящике пользователя. С пуш-уведомления переполнения в почте не будет.

    При недостаточной защите сайта от взлома может случиться так, что база данных подписчиков сайта попадет в руки мошенников, которые первым делом организуют по этой базе (так называемая спам-атака). Тогда каждый владелец электронной почты из этой базы получает такие мошеннические спам-письма. Считается, что с push-уведомлениями в этом плане пользователи более надёжно защищены: никто другой, кроме создателей заинтересовавших сайтов, не сможет побеспокоить пользователей, кто бы что ни взламывал на таких сайтах.

    Push-уведомления и RSS-лента

    По части защиты от спама web-push схожи с ещё одним средством доставки свежей информации, опубликованной на том или ином сайте – RSS-лентой. Последняя даже выигрывает в том, что хранит историю сообщений о публикациях сайтов, на которые оформлена RSS-подписка . Тогда как всплывающие уведомления через несколько секунд исчезают навсегда.

    Но использование RSS-каналов поставки новостей требует от пользователя самостоятельных действий: ему нужно самому отыскать на каждом сайте кнопку подписки (а у неё нет стандартного расположения) и ввести адрес канала в RSS-ридер. Если такого ридера нет в браузере у пользователя, его ещё нужно отдельно организовать, например, установив расширение, подобрав веб-сервис или прибегнув к использованию соответствующей программы.

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

    Настройка push-уведомлений в Google Chrome

    Реализация всплывающих уведомлений в Google Chrome и браузерах, построенных на базе такого же движка Blink (например, ), предлагает пользователю совершенно открытый формат подписки, который не требует от него сделать какой-либо выбор.

    Пуш-запрос в Гугл Хроме содержит две функциональные кнопки:

  • «Разрешить» для одобрения доставки сообщений (1 на рис. 2) и
  • «Блокировать» для добавления сайта в перечень заблокированных (2 на рис. 2).
  • В последнем случае при следующих посещениях такого сайта запросы больше не будут появляться.

    Есть и третий вариант: нажатие на крестик в окошке запроса позволяет отложить принятие решения (3 на рис. 3). Сайт не будет заблокирован, и через время такой запрос в левом верхнем углу окна Chrome появится снова.


    Рис. 2. Как выглядит запрос на push-уведомление в Google Chrome Настройка push-уведомлений в Мозилле

    В Mozilla Firefox (и прочих браузерах на базе такого же движка Gecko) форма запроса на поставку web-push обустроена более хитро, чем в Гугл Хроме, а точнее, со склонением пользователя к конкретному выбору.

  • На кнопке «Разрешить уведомления» (1 на рис. 3) сделан акцент цветовой индикацией,
  • а в качестве альтернативы ей противопоставляется кнопка отложенного решения «Не сейчас» (2 на рис. 3).
  • Кнопка блокировки уведомлений «Никогда не разрешать» (4 на рис. 3) оформлена мельче и скрыта внутри кнопки «Не сейчас» (3 на рис. 3).


    Рис. 3. Как выглядит запрос на push-уведомление в Mozille Firefox

    Разрешённые и заблокированные push-уведомления не синхронизируются вместе с профилями браузеров. После установки новой операционной системы, при переходе на другой компьютер, да даже после переустановки самого браузера с зачисткой его остатков при деинсталляции нужно всё начинать по новой – снова отвечать на запросы сайтов, с нуля формировать базу разрешений и блокировок для пуш-уведомлений.

    Отписка от web-push и их блокировка

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

    Как в таких случаях отписаться от неактуальных сайтов или вовсе отключить поставку браузером push-уведомлений? И как, наоборот, разблокировать сайты, ошибочно заблокированные при появлении запроса?

    Push – уведомление, что это такое? Это такой тип уведомлений, которые появляются, после входа на определенные сайт, в верхнем правом или левом углу окна браузера, с предложением подписаться на новости, обновление сайта или прочие изменения посещённого вами портала. В общем, если сказать проще — это всплывающее окно с призывом подписки на сайт.

    Я, конечно же, ничего не имею против любых видов подписок. Например, если вам нравится и является для вас полезным материал, который публикуется у нас на сайте, вы без проблем можете подписаться на нас с помощью того же RSS или воспользоваться формой почтовой подписки, а также присоединится к нам в группу ВК или следить за нами в YouTube . А самое главное, что сделать это вы можете по своей инициативе, а не из-за того, что постоянно вылезает окно со словом «Подпишись, подпишись, подпишись ».

    Популярность таких Push уведомлений только начинает расти вследствие чего все больше сайтов пробуют вводить подобное и у себя. Уверен, что на всех новостных сайтах эта функция уже давно включена.

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

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

    Отключение пуш-уведомлений в Mozilla Firefox

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

    Как только вы наново откроете Firefox, установлена вами ранее отметка автоматически снимается и все начинается сначала. Конечно же, такой вариант не всех устроит, поэтому для таких пользователей желающих раз и навсегда отключить push-уведомления, следует выполнить следующее:

    Установленное вами значение false означает, что больше вас не будут беспокоить с подпиской на получение push-уведомлений.

    Блокируем подписку на push-уведомления в Google Chrome

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


    По необходимости перезагружаем браузер и радуемся отсутствию постоянно всплывающих предложений о получение уведомлений от посещенного вами сайта.

    Избавляемся от push-уведомлений в Yandex браузере

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


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

    Можно ли отключить push-уведомления в Opera?

    Ну и конечно же, мы не обойдем стороной оперу. Знаю, что очень большое количество пользователей до сих пор предпочитают пользоваться именно им. Поэтому, вот инструкция по отключению push-уведомлений для Оперы.


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

    Как отключать пуш(push) -уведомления в Yandex браузере, Chrome, Firefox и Opera