Блокування push сповіщень. Як відключати пуш(push) -сповіщення в Yandex браузері, Chrome, Firefox та Opera

Google Chrome, починаючи з версії 42, підтримує Push API через сервера Google, використовуючи GCM Ви напевно вже бачили ці запити для доступу до повідомлень. Якщо дозволити доступ, сайт зможе надсилати вам повідомлення. Ця функція зовсім нова, і про неї мало хто знає, проте, на мою думку, вона вже має великі недоліки:
  • Кожен сайт запитує дозволи в браузері, складно контролювати, скільки джерел зараз можуть надсилати тобі повідомлення, у кожного висить свій фоновий процес, який окремо прокидається, немає жодної історії отриманих повідомлень або фільтрації, немає синхронізації підписок між пристроями
  • Сайтам необхідно надсилати повідомлення безпосередньо на пристрої, стежити за актуальністю бази пристроїв, стежити за кожним пристроєм користувача окремо
  • Дана можливість працює лише на сайтах із SSL

Проміжний сервіс, який бере на себе всі ці функції, може вирішити проблеми, що виникають.

Трохи теорії Основну статтю за якою я власне робив цю функцію можна знайти
Якщо коротенько, то браузер створює Service-Worker (доступний із Chrome 40), це фоновий процес на JS. Він завжди працює у тлі, а відгукується різні запити ззовні. Наприклад, на прихід Push-повідомлення. Звичайно, він не вимагає відкритої сторінки. Більше того, він працює навіть якщо браузер закритий (ну не зовсім закритий, а у фоновому режимі.)

При надходженні Push-повідомлення, браузер показує повідомлення. От і все. Це дозволяє повністю реалізувати прийом Push-повідомлень без будь-яких програм, більше того, це працює і на андроїді в мобільному хромі! З явних недоліків можна назвати зараз те, що не можна передати в push-повідомленні корисне навантаження, тобто. саме повідомлення. Google пояснює це проблемами безпеки, і повідомляє, що в Chrome 44 проблема вирішена повністю і браузер зможе приймати дані безпосередньо. Також за деякими даними, якщо браузер був закритий, то до нього не дійде запит. Ця проблема вирішується тим, що можна вивалити всі повідомлення, які не були підтверджені при отриманні будь-якого наступного повідомлення. Як PushAll вирішує проблему Ви можете надсилати повідомлення через Push API навіть без сайту зовсім. Тобто ви можете створити канал і відправляти повідомлення вручну, або з сервера через curl або підключивши RSS-стрічку. В даному випадку користувач дозволяє доступ до відправки сайту PushAll.
При цьому розробнику не треба замислюватися, кому він надсилає повідомлення. На додаток під Android, крім хром, або відразу через Push API. Він може надіслати повідомлення десятку користувачів, а насправді воно піде на кожен із 2-3 пристроїв кожного користувача. Надалі це будуть і інші браузери, і інші платформи, такі як iOS та WP.Тестування Функція була написана буквально вчора і тому потрібне тестування.

Для тесту повідомлень через Push API потрібно зайти на сайт PushAll.ru і увійти за допомогою облікового запису Google.

Відразу після входу ви потрапите до каталогу каналів. Зверху праворуч є перемикач, що включає нову функцію.

Після включення, хром запросить у вас доступ до повідомлень. Після цього треба перейти в розділ профілю та «пінганути» пристрій

Відпишіть мені в личку, або в коментарях, як працюють сповіщення. Деякі мали проблеми з роботою повідомлень, і мені хотілося б виправити ситуацію. Також перевірте повідомлення на вашому смартфоні Android. Як протестуєте, думаю знайдете кілька цікавих каналів у каталозі.

Відразу щоб не було запитань: не обов'язково отримувати всі повідомлення з каналів. Підписалися на канал, відкрили його знову – окрили фільтр, запровадили ключові слова. За тими тематиками, що вам важливі в першу чергу повідомлення будуть надходити відразу на пристрої, а решту можете читати вже з самих сайтів (це стосується, наприклад, каналу СоХабр або каналів серіалів)

Перспективи Ця функція дозволяє охопити велику аудиторію користувачів. Багатьом складно ставити додаток або доповнення, проте натиснути пару кнопок не важко.
Надалі я напишу спеціальний віджет для сайтів. Можна буде в один клік зробити одразу 4 речі.
  • Зареєструватись.
  • Увійти
  • Підписатися
  • Увімкнути Push API повідомлення у браузері.
Тобто користувач натисне на кнопку, у нього запитає доступ до Google облікового запису, запитає доступ до повідомлень - все. Користувач готовий отримувати сповіщення. Більше того, якщо користувач потім-таки завантажить додаток під будь-яку іншу платформу - він продовжуватиме отримувати повідомлення з вашого сайту, ну поки сам від них не відпишеться в особистому кабінеті. При цьому мій сервіс дозволяє надсилати навіть на мобільні пристрої сповіщення без встановлення програми!

З 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?" .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); ("Latest.json Format Error.", data.error); var title = data.notification.title; var body = data.notification.body; ru/my_beautiful_push_icon.png"; return self.registration.showNotification(title, (body: body, icon: icon, data: (url: data.notification.url)))))) .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  - посилання, по якому перейде користувач при кліку на повідомлення iicon  - красивою та прекрасною та бажаною (з бажаною квадратною, бажаною квадратною) . Причому саме у цьому скрипте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 з полями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":" _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":"" 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":" _s+"","title":"" 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":" _s+"","body":"" 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":" _s+""),"_id":" 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":" _s+")".as_json end

    Тепер створимо ще одне повідомлення через форму Notification.new. І, нарешті, ми бачимо в кутку монітора пуш саме з тим вмістом, який тільки-но вбили у форму.

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

    Стало з'являтися багато сервісів, що надають послуги push-повідомлень, багато сайтів почали вішати собі на сайт банери з пропозицією включити оповіщення. Куди на зайди – скрізь запит на оповіщення, з цим потрібно щось робити.

    У цьому прикладі ми будемо використовувати браузер Chrome. Налаштування аналогічні в Yandex-браузері. Ви зможете або відписатися від певного сайту, або заборонити всім сайтам надсилати вам оповіщення. Це дозволить звільнитися від безлічі спливаючих вікон, які просять вас дозволити доступ до оповіщення.

    Я вже підписався на оповіщення

    Щоб позбавитися від сповіщень певного сайту, натисніть на будь-яке його сповіщення правою кнопкою миші та оберіть - "відключити оповіщення від..."

    Я бачу на багатьох сайтах запит "сайт запитує дозвіл на Показувати оповіщення"

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

    Вибираємо меню Chrome -> Налаштування

    Прокручуємо вниз до "Оповідання" та переводимо перемикач у положення "Не показувати повідомлення на сайтах"

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

    Якщо вам не сподобалися оповіщення у браузері від сайтів, ви можете змінити думку про них, заглянувши до каталогу каналів на нашому сайті

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

    Активні інтернет-користувачі знають, що при відвідуванні різних веб-ресурсів можна зіткнутися як мінімум з двома проблемами - набридливою рекламою і повідомленнями. Щоправда, рекламні банери демонструються всупереч нашим бажанням, а от на постійне отримання настирливих push-повідомлень кожен підписується самостійно. Але коли таких повідомлень стає занадто багато, виникає необхідність їх відключити, і в браузері Google Chrome це можна зробити досить легко.

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

    Google Chrome для ПК

    Щоб вимкнути сповіщення в настільній версії браузера, потрібно виконати кілька простих дій у розділі налаштувань.


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

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


    Як тільки ви виконаєте необхідні дії, вкладку «Налаштування»можна закривати. Тепер, якщо ви й отримуватимете push-сповіщення у своєму браузері, то тільки від тих сайтів, які вам дійсно цікаві.

    Google Chrome для Android

    Заборонити показ небажаних або нав'язливих пуш-повідомлень можна і в мобільній версії браузера, який ми розглядаємо. Для цього потрібно виконати таке:

  • Запустивши Google Chrome на своєму смартфоні, перейдіть в розділ «Налаштування»точно так само, як це робиться на ПК.
  • В розділі «Додаткові»знайдіть пункт «Налаштування сайтів».
  • Потім перейдіть до пункту «Повідомлення».
  • Активне положення тумблера говорить про те, що перш ніж почати надсилати вам push-повідомлення, сайти будуть вимагати дозвіл. Деактивувавши його, ви відключите і запит, і сповіщення. В розділі «Дозволено»будуть показані сайти, які можуть надсилати вам гармати. На жаль, на відміну від десктопної версії веб-браузера, можливість налаштування тут не передбачено.
  • Виконавши необхідні маніпуляції, поверніться на крок назад, натиснувши ліву стрілку, розташовану в лівому куті вікна, або відповідну кнопку на смартфоні. Перейдіть до розділу "Вспливаючі вікна", який знаходиться трохи нижче, та переконайтеся, що перемикач навпроти однойменного пункту деактивовано.
  • Знову поверніться на крок назад, перейдіть до списку доступних параметрів трохи вгору. В розділі «Основні»виберіть пункт «Повідомлення».
  • Тут можна виконати тонке налаштування всіх повідомлень, що відправляються браузером (невеликі спливаючі віконця при виконанні тих чи інших дій). Ви можете увімкнути/вимкнути звукове сповіщення для кожного з таких повідомлень або повністю заборонити показ. За бажання це можна зробити, але ми все ж таки не рекомендуємо. Ті ж сповіщення про скачування файлів або перехід в режим інкогніто з'являються на екрані буквально на секунду і пропадають, не створюючи ніякого дискомфорту.
  • Погортавши розділ «Повідомлення»нижче, ви зможете побачити список сайтів, яким дозволено їх показ. Якщо в списку є ті веб-ресурси, push-повідомлення від яких ви не хочете отримувати, просто деактивуйте перемикач навпроти його назви.
  • На цьому все, розділ налаштувань мобільного Google Chrome можна закривати. Як і у випадку з його комп'ютерною версією, тепер ви не будете отримувати повідомлення взагалі або ж бачитимете тільки ті, що відправлені з веб-ресурсів, що вас цікавлять.

    Висновок

    Як бачите, немає нічого складного в тому, щоб відключити push-сповіщення в Google Chrome. Тішить те, що зробити це можна не тільки на комп'ютері, а й у мобільній версії браузера. Якщо ви користуєтеся пристроєм на iOS, описана вище інструкція для Android вам також підійде.

    Як можна відписатися від «пушків» випадково? Відмова може бути викликана одержанням push-повідомлення не вчасно (наприклад, у вихідний або свято), під дією миттєвого пориву. Або можна випадково заблокувати отримання всіх повідомлень.

    Як бути у цьому випадку? Потрібно ознайомитись з налаштуваннями пуш-повідомлень для свого браузера. Читайте докладну інструкцію про те, де і при необхідності. З цієї статті ви дізнаєтесь, як налаштовувати отримання повідомлень від окремих сайтів.

    TIP

    Відправникам повідомлень важливо дотримуватись грамотної стратегії розсилок: вибрати оптимальну частоту та формат подачі інформації. Занадто часті розсилки призводять до високого відсотка відписки, а нерегулярне надсилання повідомлень – до втрати інтересу клієнта до веб-ресурсу.

    Аналітична стаття про те, що допоможе розібратися з нюансами налаштування push-кампанії.

    Як використовувати всі переваги пуш-повідомлень для сайту? за послугою саме для вашого бізнесу із його унікальними особливостями.

    Планове чищення неактивних контактів Зміна протоколу сайту TIP

    При зміні протоколу сайту з http на https, як і при переїзді на новий домен, базу передплатників необхідно збирати заново. Відповідно, в стандартних умовах користувач не отримуватиме push-повідомлення сайту доти, доки він не підпишеться на «пуші» за новою url-адресою.

    Однак у сервісі Gravitec.net передбачено стратегію перенесення при зміні протоколу без втрати контакту з користувачами. Читайте про те,