Service Worker. Усунення несправностей

Відстеження подій та поведінки

Email

Омніканальність

Автоматизація

Service Worker. Усунення несправностей

Скрипт для веб-пушів eSputnik завантажується через файл Service Worker, який називається sw.js та розміщується в корені сайту. Проблема може виникнути у випадках, коли в коді сайту вже використовуються файли з такою самою назвою, або якщо на сайті вже використовується інший Service Worker.

1. Зміна назви Worker sw.js

Деякі конструктори (Хорошоп, Wix тощо) за умовчанням розміщують файл sw.js в корені сайтів. Оскільки файл eSputnik має ту саму назву, можуть виникати помилки.

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

Для цього знайдіть у коді скрипту eSputnik функцію ініціалізації

es("pushOn");

і додайте до цього запису параметри у такому форматі:

es("pushOn", {'service-worker': {'relUrl': '/push-worker.js'} });

де параметр 'relUrl' – шлях до файлу та його довільна назва.

Корегування коду

2. Поєднання Service Worker від eSputnik та PWA

Сайти з PWA (progressive web app) вже використовують Service Worker, тобто містять JavaScript-файл з певним набором функцій. Щоб додати на сайт можливість підписки та відправки веб-пушів через eSputnik, вам потрібно в кінці JavaScript-коду вашого Service Worker додати рядок

importScripts('https://push.esputnik.com/service-worker.js');

Зверніть увагу

Назви функцій, змінних або обробників у вашому Service Worker та Service Worker від eSputnik можуть збігтися. У такому разі можливі конфлікти, що призводять до збоїв у роботі як вашого PWA, так і скрипту eSputnik.

Нижче наведено перелік назв методів (функцій) у файлі eSputnik:

  • onPushNotification
  • getNotificationContent
  • showNotification
  • getNotificationData
  • determineClickedLink
  • collectActionLinks
  • trackNewServiceWorkerActivation

У разі збігу цих назв із назвами у вашому Service Worker, буде викликатися функція, яка розташована в коді останньою. Наприклад, якщо код відповідно до цієї інструкції закінчується рядком

importScripts('https://push.esputnik.com/service-worker.js');

то коректно відпрацює функціональність, пов'язана із веб-пушами.

Залишилися питання?
Спеціалісти обов'язково нададуть відповідь та допоможуть вирішити вашу проблему!
Зворотний дзвінок
Залишіть заявку – і наш спеціаліст зв'яжеться з вами в робочий час.
Відправити заявку
Консультація в чаті
Готові до ваших запитань!
Написати в чат
Електронна пошта
Напишіть в службу підтримки eSputnik.
Надіслати email