Примечание: Устаревшая документация для этого элемента отсутствует, поэтому вы видите текущую документацию.
Мы хотим, чтобы установка PushEngage WordPress прошла гладко, но вы все равно можете столкнуться с проблемами. Service worker — это ключевой файл для сбора подписчиков push-уведомлений и отправки push-кампаний.
Мы подготовили руководство с описанием различных распространенных проблем, связанных с файлом Service Worker при установке PushEngage, и способов их устранения.
Прежде чем начать
- Следует избегать перенаправлений; так как файл service-worker.js должен быть общедоступным (https://www.mywebsite.com/service-worker.js). Если при попытке перейти по адресу файла service-worker.js происходит какое-либо перенаправление, ваша установка выполнена некорректно, и подписка также не удастся.
- Если вы видите ошибку 403 или 404 после попытки подписаться на ваш сайт, что-то мешает файлам PushEngage Service worker быть общедоступными. Вы можете проверить это в панели управления PushEngage или в консоли браузера. Эти файлы должны быть написаны полностью заглавными буквами, а не как перенаправления. Эти страницы должны быть доступны вам без каких-либо проблем.
- Необходимо объединить service workers, если вы интегрируете PushEngage на веб-сайт, который уже имеет service worker (например, PWA), чтобы PushEngage функционировал должным образом. Это руководство поможет вам объединить service worker PushEngage с существующим service worker на вашем веб-сайте.
Проблемы с Service worker и их решения
Ошибка 1: Неверный URL файла Service Worker
TypeError: Не удалось зарегистрировать ServiceWorker для области (https://xxxx) со скриптом (https://www). При получении скрипта был получен недопустимый код ответа HTTP (404).

Решение: Убедитесь, что имя и расположение файла Service Worker соответствуют значению из вашей панели управления PushEngage, перейдя в раздел Настройки сайта » Расширенные настройки » Настройки Service Worker

Ошибка 2: Браузер не имеет разрешения на чтение файла Service Worker
TypeError: Не удалось зарегистрировать ServiceWorker для области ('https://xxx') со скриптом ('https://xxxx'): При получении скрипта был получен недопустимый код ответа HTTP (403).
Решение: Проверьте конфигурацию веб-сервера у поставщика услуг веб-хостинга, чтобы убедиться, что конфигурация разрешает доступ на чтение к файлу Service Worker и что файл общедоступен из Интернета.
Команда PushEngage не может помочь вам с изменением разрешений, только ваша хостинговая компания или команда разработчиков может помочь вам исправить эти разрешения.
Ошибка 3: Не удалось выполнить ‘importScripts’
Uncaught DOMException: Не удалось выполнить 'importScripts' в 'WorkerGlobalScope'. Скрипт по адресу (https://xxxxxx) не удалось загрузить по адресу (https://www).
Решение: В файле Service Worker используется неправильное имя поддомена в инструкции importScripts (https://xxxx.pushengage.com) внутри файла Service Worker. Поэтому убедитесь, что инструкция importScript использует правильный поддомен PushEngage, назначенный сайту.
Значение параметра домена в URL Service Worker указано неверно. Это применимо только к сайтам, использующим плагин WordPress.

Ошибка 4: Не удалось зарегистрировать Service Worker
DOMException: Не удалось зарегистрировать Service Worker для области (https://www) со скриптом (https://xxxxxxxx). Путь указанной области ('xxx') находится не под максимальной допустимой областью ('xxxxxxx'). Настройте область, переместите скрипт Service Worker или используйте HTTP-заголовок Service-Worker-Allowed, чтобы разрешить область.
Решение: Переместите файл service worker в корневой каталог и обновите путь к service worker с помощью этого руководства.
После этого установите значение HTTP-заголовка Service-Worker-Allowed равным ‘/’ для запросов к файлу Service Worker.

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