Push уведомления для всех браузеров. Web Push уведомления. Что это и зачем? Как отключить пуш-уведомления в браузере, если они вам не нравятся
Правда жизни такова:
Это реально сложно получать трафик на сайт.
Но знаете что еще хуже?
90% посетителей, побывавших на вашем сайте не вернутся больше никогда.
Эксклюзивный бонус: Нажмите здесь чтобы скачать чеклист по созданию магнетических текстов. Статьи, написанные по этому чеклисту будут словно магнитом удерживать внимание читателя (нажмите чтобы скачать ).
Обидно конечно... Вы тратите неимоверные силы на и его развитие, но самый ценный актив - посетители, забывают о вас в тот же день, в который узнали.
Но не отчаивайтесь, есть решение:
Установите на свой сайт браузерные пуш уведомления .
Вот в чем фишка:
Пуш уведомления для сайта позволяют быть на связи с вашими посетителями.
На некоторых блогах внедрение пуш уведомлений увеличило повторные посещения в несколько раз.
Да и просто, это хорошая альтернатива email рассылке.
В этой статье вы узнаете:
- В чем преимущество пуш уведомлений
- Стоит ли использовать эту относительно новую технологию
- Список лучших сервисов пуш уведомлений
- Как подключать push`ы на свой сайт
Компания Extra - один из крупнейших ритейлеров на Ближнем Востоке.
С помощью пуш уведомлений они смогли увеличить продажи мобильным пользователям в 2 раза:
Если вы думаете, что на этом все - вы глубоко ошибаетесь.
Помимо этого, доля повторных покупок выросла в 4 раза (!!!).
Как итог, маркетологи компании Extra признали пуш уведомления как самый эффективный инструмент удержания клиентов.
Что такое push уведомления для сайта?Все еще не уверены, что такое push уведомления для сайта?
Все очень просто:
Заходя на какой-нибудь веб ресурс вы можете увидеть вот такое всплывающее окно:
Пример запроса на получение push уведомленийЕсли пользователь соглашается, вы можете отправлять уведомления о выходе новых статей, появлении новых продуктов и т.д.
Сообщения появляются в правом углу экрана. При этом браузер может быть свернут или даже закрыт.
Пример пуш уведомления:
Браузеры, поддерживающие Push уведомленияПервой технологию пуш уведомлений в браузере начала поддерживать Safari . Затем, в апреле 2015 года ее внедрили в Chrome версии 42 .
И наконец, в начале 2016 года пуш уведомления начали поддерживаться в браузере Firefox версии 44 .
На данный момент уже более 75% всех браузеров поддерживают отправку Push уведомлений.
Почему пользователям стоит подписываться на пуш уведомленияСначала давайте затронем те преимущества, которые получают пользователи при подписке на push уведомления.
1. Удобство прежде всегоТо, что вы должны уяснить как дважды два:
Люди покупают на тех сайтах, которые предлагают лучший сервис. Это же касается лояльности читателей.
Но как быстро и просто сделать сайт удобным для посетителей?
Ответ очевиден:
С помощью пуш уведомлений.
Представим, я подписался на обычные обновления вашего сайта...
Мне придется частенько открывать свой почтовый ящик в ожидании email письма от вас.
В случае с push уведомлениями все намного проще.
OneSignalПосле этого в левой колонке вашей админ зоны появится раздел OneSignal Push.
Последующая настройка полностью расписана по шагам, но на английском языке. Поэтому я вкратце разъясню все необходимые действия.
Перед вами откроется окно, в котором нужно перейти в раздел Configuration:
Все нужно делать так, как показано на скриншотах и в итоге вы получите номер проекта и API ключ.
Введите номер проекта в поле Google Project Number в разделе Configuration. API ключ вам нужно сохранить (еще понадобится).
Там же укажите API ключ от Google проекта и наличие SSL сертификата на вашем сайте.
Если ваш сайт находится по адресу http, вы ничего не меняете. Если же https, то ставьте галочку в соответствующем чекбоксе.
Зачем это нужно?
Дело в том что push уведомления поддерживаются только на https сайтах. Однако, сервис OneSignal решает проблему тем что создает для вас субдомен у себя.
В качестве субдомена можете использовать адрес вашего сайта. Например, вместо сайт - я сделал site4business.onesignal.com
В подразделе Modify Site рассказывается о видах внедрения пуш уведомлений. В подразделе Safari Push все аналогично предыдущим шагам.
И наконец, расположение кнопки подписки и ее текст вы можете изменить в разделе Configuration.
Имейте ввиду что для http доступна подписка на уведомления только при помощи кнопки. Ее дизайн вы можете свободно изменять.
А всплывающие попап окна доступны только для https сайтов.
PushCrewДля начала установите плагин PushCrew.
После этого, заведите аккаунт на сайте сервиса .
И наконец, в разделе Customize for desktop вы можете настроить внешний вид всплывающих окон.
Вот полный список сервисов , предоставляющих возможность внедрения пуш уведомлений:
Дорогие друзья, давно не писал сам статьи на сайт, решил что от себя буду писать только полезные статьи, которые будут интересны не только мне, но и моим читателям. Как вы наверное заметили на сайте появилась интересная функция, это push notification (в народе пуш уведомления). Эта функция по моему личному мнению революционная, которая отодвинет в сторону подписки на e-mail рассылки и социальные далеко в сторону, и даже в будущем заменит их. А вот почему:
На примере будет показана настройка push notification в wordpress сайте (я ярый фанат вордпресса, т.к. эта удобная и популярная CMS и реализация пуш уведомления реализуется в пару кликов).
Для начала вам понадобится SSL сертификат, да, к сожалению обычные "http" сайты не смогут полноценно работать с push notification. Есть сторонние сервисы, которые конечно могут вам позволить добавить эту функцию на ваш сайт, но есть несколько минусов:
В моем же случае, пользователю достаточно 1 раз нажать кнопку "разрешить" в маленьком окне, и он уже будет зарегистрирован в системе и в при выходе новой статьи он будет получать уведомления уже прямо от моего сайта.
Думаю хватит воды, и перейду к делу.
Как я сказал выше, вам нужен SSL сертификат (те кто не знает что такое SSL и https, большой брат google вам поможет). Вы можете воспользоваться сервисом CDN cloudflare и в нем включить поддержку https (это самый легкий вариант, если будет интересно, могу написать статью как добавить сайт в cloudflare). Но я решил, что хочу добавить свой сертификат на сайт.
По гуглив немного, я нашел сервис "Let’s Encrypt" (https://letsencrypt.org) который позволяет бесплатно получить самый простой ssl сертификат с проверкой домена. Этого для нашего дела будет достаточно. Написал своему хостеру, что хочу добавить SSL сертификат от "Let’s Encrypt", хостеру правда пришлось поменять панель управление хостингом с ISPmanager на Plesk т.к в Plesk есть плагин, который в один клик добавляет SSL сертификат от "Let’s Encrypt". Если ваш хостер не может вам поменять панель управления, или в Plesk не установлен плагин "Let’s Encrypt" вы можете воспользоваться как я написал выше сервисом CDN cloudflare или поменять ваш хостинг на более "нормального" хостера.
Если у вас панель управления Plesk и в нем установлен плагин "Let’s Encrypt".
После подготовки вашего сайта, и проделывания нужных нам действий. Вам понадобится настроить wordpress, чтобы он переадресовывал посетителей на "https://" версию вашего сайта. Делается это следующем образом, заходите в админку вашего сайта. Настройки - Общие настройки. В общих настройках, в "Адрес WordPress (URL)" и "Адрес сайта (URL)" меняете "http://вашсайт" на "https://вашсайт". Все, если вы правильно установили SSL сертификат, то ваш сайт будет работать как и прежде, но в адресной строке появится значок зеленого замка. Это означает, что ваше соединение защищено, и канал между вами и сервером будет шифроваться.
Следующим этапом будет установка плагина "Chrome Push Notifications" (https://wordpress.org/plugins/chrome-push-notifications) этот плагин сделает за вас грязную работу, в нем будет достаточно написать ключи которые выдаст вас google, об этом чуть ниже. Почему-то после установки плагина и после заполнения нужных форм у меня ничего не заработало, возможно разработчик плагина исправит это, но я решил, что не буду ждать пока исправят работу плагина, и вручную вписал нужные строки в шаблон моего блога.
Предположим вы установили плагин и сайт у вас с ssl сертификатом. Теперь вам необходим аккаунт в gmail, для того, чтобы попасть в консоль и активировать нужные нам API. Снизу добавил видео что нужно сделать в "google developer console", а это пошаговая текстовая инструкция:
Все с Google мы разобрались, перейдем на наш сайт. Как я говорил, у меня почему-то плагин сразу не заработал, возможно это только мне не повезло, мне пришлось поковыряться на сайте разработчика, чтобы понять, почему у меня не заработал плагин. Если плагин у вас тоже не работает, то можете повторить мои действия.
1. Нужно добавить jQuery в вашу тему, если он у вас не стоит. Я использую CDN от google, вы можете загружать его с него же или со своего сайта. Добавить нужно в header.php
2. Создайте файл с названием и расширением manifest.json в корневой папке своего сайта и впишите туда, номер вашего проекта, который вы взяли с "google developer console":
{"gcm_sender_id": "номер-вашего-проекта"}
Запись добавляется до тега
3. После этого, зайдите в меню "виджеты" и добавьте текстовый виджет и в него впишите следующие значения, замените "вашсайт.кз" на домен вашего сайта.
/* */
4. После всех этих действии, обновите кэш wordpress (если у вас установлен плагин кэширования) и зайдите на главную страницу. У вас должно появится окно push notification. Надеюсь статья вам помогла, если будут вопросы обращайтесь, по мере возможности буду помогать.
P.S: Забыл сказать, этот push notification работает только в браузерах хром от google, думаю в будущем напишу как реализовать такую функцию и в iOS устройствах и в других браузерах.
Как сделать push уведомление (notification) на сайте
62 оценок, Средняя оценка: 4.9 из 5сайт 15.12.2017
Доброго времени суток, уважаемый посетитель.
Мгновенные уведомления с сайта о появлении нового материала, а также прочих событиях, что может быть лучше?! Данная технология пришла к нам из мира мобильных технологии – изначально мгновенные уведомления были лишь уделом мобильных приложений, но со временем «фича» была внедрена и в браузеры (мобильные, а затем и десктопные).
Оповещения увеличивают количество посетителей на ваш сайт, и являются более эффективными, нежели E-Mail подписка. Т.е. если пользователь посетил ваш сайт, одобрил запрос на включение оповещений от сайта, то он их будет видеть практически всегда, и для этого не надо совершать каких-либо лишних телодвижений, как это традиционно бывает с E-Mail рассылкой.
Сразу хочу заметить, что Web Push оповещения могут быть интегрированы только на те сайты, которые работают по защищённому протоколу (https) – таково требование технологии.
Что собой представляет Web PushКогда пользователь заходит на сайт, на котором имеется сервис мгновенных сообщений, то будет отображено ненавязчивое сообщение о том, что сайт запрашивает разрешение на отправку уведомлений. Дизайн данного уведомления зависит от используемого браузера.
На изображении приведён пример с предложением подписаться на оповещения с сайта в десткопном браузере Google Chrome и Mozilla Firefox.
А вот так этот же запрос выглядел в мобильном браузере Chrome for Android до версии 63.0.3239.107.
Впоследствии разработчики мобильного браузера Google пересмотрели подход к выводу запроса, сделав его более агрессивным. Отныне он перекрывает контент, пока пользователь не сделает выбор.
Понимая, что это может вызывать раздражение у посетителей, в OneSignal поступили следующим образом: при заходе на сайт с мобильного браузера Google Chrome for Android будет выводиться всплывающее окно, в котором запрашивается разрешение на подписку (текст запроса настраивается). Если пользователь соглашается, то уже выводится стандартный запрос на включение оповещений в браузере.
Это распространяется только на мобильный браузер Google Chrome for Android, во всех остальных браузерах алгоритм вывода запроса подписки на оповещения остаётся неизменным.
Когда пользователь соглашается на приём оповещений, то можно задать «приветственное» оповещение, смысл которого сводится к тому, что вы были подписаны на оповещения о новых материалах сайта. И при их появлении вы будете оповещены соответствующем уведомлением.
Как вы можете видеть, в мобильных браузерах оповещения зачастую выводятся в панели уведомлений, а в десктопных (компьютерных) браузерах – они всплывают в правом нижнем углу.
Сами оповещения также настраиваются: можно установить картинку, заголовок, текст сообщения, и открытие определённой страницы при нажатии по оповещению.
Как подключить Web Push на сайтНеобходимо понять, что Web Push — это сервис, который едва ли можно реализовать за счёт просто установки плагина и подобных манипуляций. Потому то мы будем пользоваться соответствующим сторонним сервисом. В данном случае речь пойдёт о сервисе OneSignal, с помощью которого наделим наш сайт описанным выше функционалом. Почему именно он? Потому что он полностью бесплатен, не отправляет пользователям никакой рекламы и прочего.
Едва ли вообще пользователи будут знать, что Web Push вашего сайта реализован с помощью сервиса OneSignal. В этом и заключается его неоспоримое преимущество.
Каковы его минусы? Они тоже имеются. Интерфейс данного сервиса англоязычный, и к нему надо будет привыкнуть, если вы планируете формировать оттуда оповещения, которые будут отправляться подписавшимся на них пользователям.
Для интеграции в WordPress имеется официальный плагин, который, однако, мне совершенно не понравился. Его размер составляет 6.5мегабайт, что весьма немало… меня уже это ототкнуло от его использования.
Я интегрировал на сайт Web Push «ручками», прочтя руководство по интеграции (на английском), которое на сайте сервиса изложено довольно подробно.
А сами сообщения я формирую через личный кабинет на сервисе.
Об этом способе интеграции (без плагина) я и хочу вам рассказать. Стоит отметить, что воспользовавшись описываемым способом интеграции, можно наделить Web Push функционалом не только сайт на WordPress, но и работающий на любом другом движке, или вовсе состоящий из статических html страниц. Поистине универсальный вариант!
Примечание: там ещё имеется кнопка Apple Safari , и у вас может возникнуть закономерный вопрос: а как же данный браузер? Не волнуйтесь, его мы добавим в одном из следующих шагов.
- manifest.json
- OneSignalSDKWorker.js
- OneSignalSDKUpdaterWorker.js
Распакуйте эти файлы.
https://sitename.ru/manifest.json
https://sitename.ru/OneSignalSDKWorker.js
https://sitename.ru/OneSignalSDKUpdaterWorker.js
var OneSignal = window.OneSignal || ; OneSignal.push(["init", { appId: "СЮДА впишите присвоенный вам App ID", autoRegister: true, notifyButton: { enable: false }, persistNotification: true, safari_web_id: "", welcomeNotification: { "title": "Уведомления включены", "message": "При появлении нового материала на сайте вы будете уведомлены" // ,"url": "" }, promptOptions: { actionMessage: "Желаете получать мгновенные уведомления о новых статьях на сайте?", acceptButtonText: "Да", cancelButtonText: "Нет" } }]);
Не забудьте за место СЮДА впишите присвоенный вам App ID вписать тот код, что был присвоен в вашем случае, и отображается в том окне, который был высвечен на 9 шаге.
Title и message отвечают за «приветственное» сообщение при подписке, вы можете изменить текст в этих строках на своё усмотрение.
А параметры actionMessage, acceptButtonText, cancelButtonText отвечают за текст запроса на подписку, что выводится в мобильном браузере Google Chrome for Android и больше нигде.
Сохраните файл header.php с вписанным вами кодом.
Примечание: стоит отметить, что данный запрос отображается один раз. И если вы согласились с ним, то впоследствии он не будет появляться, а будет осуществляться автоматическая подписка. Не поможет даже очистка истории браузера.
Я просто сам столкнулся с такой особенностью технологии, экспериментируя с интеграцией на сайт. Так что если вы не видите запроса, то не стоит «бить тревогу» и думать что что-то не работает, просто попробуйте зайти с другого браузера, с которого ранее не осуществлялся доступ на сайт.
Поздравляю – вы первый подписчик на оповещения со своего сайта:-) Но это ещё далеко не всё.
Web Push будет действовать (подписка, получение) в браузере Google Chrome и основанных на коде Chromium: Opera, Яндекс Браузер и т.д, а также Mozilla Firefox.
Для включения поддержки Apple Safari сделайте следующее:
В личном кабинете OneSignal в левом меню нажмите по ссылке App Settings , в открывшемся меню нажмите на кнопку Configure , что располагается напротив пункта Apple Safari .
В открывшемся окне введите имя вашего сайта и впишите его URL адрес. По желанию вы можете загрузить логотип сайта, который будет отображаться в оповещении. Для этого поставьте галочку у пункта I’d like to upload my own notification icons и загрузите графический файл. Требование к логотипу – разрешение 256 на 256 пикселей, формат png. Сделав всё необходимое — нажмите кнопку Save .
Вас перебросит на страницу App Settings , но под надписью Apple Safari будет высвечен Web ID .
Его необходимо скопировать и вставить в тот код, что мы ранее вставляли в файл header.php:
SistNotification: true, safari_web_id: "", welcomeNotification: { "title": "Уведо...
SistNotification: true, safari_web_id: "СЮДА вписать присвоенный Apple Safari ID", welcomeNotification: { "title": "Уведо...
Сохраните введённые изменения.
Всё, интеграция и настройка закончена. Если что-то не понятно, то задавайте вопросы, а также ознакомьтесь с тем, как код вписан на этом сайте. Единственное исключение на данном сайте – я строчку кода
переместил в так называемый «подвал» (в исходном коде страницы она отображается внизу).
Как формировать и отправлять Web Push подписавшимсяС кодом и интеграцией мы разобрались, теперь дело за малым – создать рассылку.
Там нас будет ждать мастер, с помощью которого мы создадим рассылку.
Иконки (Icon — миниатюра, отображающаяся рядом с текстом) поддерживает Google Chrome, Mozilla Firefox (и браузеры на основе Chromium), большую картинку (Image ) только Chrome и только с версии 56. Для браузера Safari нет возможности указать иконку, в приходящих оповещениях всегда будет отображаться иконка, что была загружена на 16 шаге инструкции по подключению Веб Пуш на сайт. Такова реализация поддержки Пуш уведомлений в браузере Сафари.
Можете игнорировать ввод большой картинки (Image ), ограничиваясь указанием иконки (Icon ).
Ещё стоит сказать про поле Time to Live – данная опция отвечает за время жизни сообщения, по умолчанию оно равняется трём дням. Если за это время смартфон\браузер не сможет выйти в интернет, то сообщение ему не будет доставлено вовсе.
Имеет смысл увеличить данный промежуток. Я увеличиваю данный порог до 128 дней (введя 11111111 в поле). Для его увеличения просто начните вводить цифры и в реальном времени будет выводиться устанавливаемый порог.
Введя все данные, нажмите Next .
Для продолжения нажмите кнопку Confirm .
А вас перебросит на страницу статистики, где вы сможете наблюдать, сколько всего сообщений было отправлено, какие из них достигли цели, сколько раз подписчики на него нажали и т.д. Очень удобно и наглядно.
Стоит отметить, что в левом меню вы можете выбрать пункт Templates и создать шаблон рассылки, дабы не вводить каждый раз повторяющуюся информацию при создании очередной рассылки.
Краткий итогВ материале мы подробно рассмотрели преимущества web push, процесса установки сервиса мгновенных уведомлений на сайт, и его использования на примере полностью бесплатного сервиса от OneSignal.
Если имеются вопросы, то в комментариях вы можете уточнить все тонкости и нюансы.
Пожертвование сайту сайт (cбор пожертвований осуществляется через сервис Яндекс Деньги)
При посещении новых сайтов в левом верхнем углу браузера иногда появляется небольшое окошко, в котором запрашивается разрешение на доставку Вам неких уведомлений.
Если пользователь единожды одобрил получение таких уведомлений, позднее в области задач компьютера или мобильного устройства он будет периодически наблюдать появление небольших окошек с сообщением о том, что на этих сайтах появились новые публикации.
Это так называемые 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 (например, ), предлагает пользователю совершенно открытый формат подписки, который не требует от него сделать какой-либо выбор.
Пуш-запрос в Гугл Хроме содержит две функциональные кнопки:
В последнем случае при следующих посещениях такого сайта запросы больше не будут появляться.
Есть и третий вариант: нажатие на крестик в окошке запроса позволяет отложить принятие решения (3 на рис. 3). Сайт не будет заблокирован, и через время такой запрос в левом верхнем углу окна Chrome появится снова.
Рис. 2. Как выглядит запрос на push-уведомление в Google Chrome Настройка push-уведомлений в Мозилле
В Mozilla Firefox (и прочих браузерах на базе такого же движка Gecko) форма запроса на поставку web-push обустроена более хитро, чем в Гугл Хроме, а точнее, со склонением пользователя к конкретному выбору.
Кнопка блокировки уведомлений «Никогда не разрешать» (4 на рис. 3) оформлена мельче и скрыта внутри кнопки «Не сейчас» (3 на рис. 3).
Рис. 3. Как выглядит запрос на push-уведомление в Mozille Firefox
Разрешённые и заблокированные push-уведомления не синхронизируются вместе с профилями браузеров. После установки новой операционной системы, при переходе на другой компьютер, да даже после переустановки самого браузера с зачисткой его остатков при деинсталляции нужно всё начинать по новой – снова отвечать на запросы сайтов, с нуля формировать базу разрешений и блокировок для пуш-уведомлений.
Отписка от web-push и их блокировка
Чрезмерное количество всплывающих сообщений со временем может начать раздражать пользователя. Кроме того, могут поменяться наши интересы.
Как в таких случаях отписаться от неактуальных сайтов или вовсе отключить поставку браузером push-уведомлений? И как, наоборот, разблокировать сайты, ошибочно заблокированные при появлении запроса?
Наверняка все, кто пользовался почтой от Google, хоть раз видели уведомления вроде этого:
Уведомления почты gmail
Эти уведомления называются HTML5 Notifications, и они видны, даже если перейти в другую вкладку или вообще свернуть браузер.
После прочтения этой статьи вы сможете сделать такие же уведомления и для своего сайта. Код простой, кроссплатформенный, и непосредственно отправка уведомления занимает всего 1 строку на любимом JavaScript.
Также в конце статьи есть готовая функция, с помощью которой можно начать отправлять уведомления, не вникая в подробности.
Согласно сайту caniuse.com , сейчас такие уведомления (HTML5 Notifications) работают в браузерах Chrome, Firefox (35+), Opera (27+), Safari (7.1+). Internet Explorer поддержки интернета уведомлений не имеет. Если рассматривать мобильные платформы, то частичная поддержка HTML5 Notifications есть только у Android Browser.
Перед тем, как непосредственно отправлять уведомления, нам нужно получить права (permission) на это.
Сделать это можно методом Notification.requestPermission() :
Notification.requestPermission(function(permission){ // переменная permission содержит результат запроса console.log("Результат запроса прав:", permission); });
После выполнения метода, результат запроса на права будет лежать в переменной permission .
Вот её разные значения с пояснениями:
- default - запрос на получение прав не отправлялся;
- granted - пользователь разрешил показывать уведомления;
- denied - пользователь запретил показывать уведомления.
Получив права, можем приступать непосредственно к отправке уведомлений.
Делается это очень просто, одной строкой:
Var notification = new Notification(title, options);
title - заголовок уведомления,
options (опционально) имеет следующие параметры:
- body - тело уведомления (основной текст), в разных браузерах и ОС обрезается по-разному (например, в Chrome под Win 8.1 максимальная длинна – 200 символов);
- dir - направление отображения уведомления, может быть auto, ltr (слева направо) или rtl (справа налево);
- lang - язык уведомления;
- tag - уникальный идентификатор уведомления, с помощь которого можно заменить его другим уведомлением или удалить;
- icon - URL изображения, которое будет показано в уведомлении (рекомендуем разрешение 40×40 px).
Попробуем установить параметры и отправить уведомление:
Var notification = new Notification("Сколько ТЫЖ программистов нужно чтобы вкрутить лампочку?", { body: "Только ты!", dir: "auto", icon: "icon.jpg" });
Результат выполнения кода выше
Также у notification есть методы-обработчики событий onclick , onshow , onerror , onclose:
Function clickFunc() { alert("Пользователь кликнул на уведомление"); } notification.onclick = clickFunc;
Результат:
При клике
Одна функция для всегоТеперь соберем всё в единую функцию и добавим несколько проверок на ошибки:
Function sendNotification(title, options) { // Проверим, поддерживает ли браузер HTML5 Notifications if (!("Notification" in window)) { alert("Ваш браузер не поддерживает HTML Notifications, его необходимо обновить."); } // Проверим, есть ли права на отправку уведомлений else if (Notification.permission === "granted") { // Если права есть, отправим уведомление var notification = new Notification(title, options); function clickFunc() { alert("Пользователь кликнул на уведомление"); } notification.onclick = clickFunc; } // Если прав нет, пытаемся их получить else if (Notification.permission !== "denied") { Notification.requestPermission(function (permission) { // Если права успешно получены, отправляем уведомление if (permission === "granted") { var notification = new Notification(title, options); } else { alert("Вы запретили показывать уведомления"); // Юзер отклонил наш запрос на показ уведомлений } }); } else { // Пользователь ранее отклонил наш запрос на показ уведомлений // В этом месте мы можем, но не будем его беспокоить. Уважайте решения своих пользователей. }
Теперь у нас есть красивая функция, с помощью которой можно просто отправлять уведомления, не отвлекаясь на запрос прав или поддержку браузера:
SendNotification("Верните Линуса!", { body: "Тестирование HTML5 Notifications", icon: "icon.jpg", dir: "auto" });
Результат выполнения функции в разных браузерах: