Вебпуши
1. Подготовка к интеграции
- Проверьте, что сайт на https и на нём установлен трекер .
- Воспользуйтесь инструкцией, чтобы завести проект в Firebase для отправки вебпушей, и настройте отправку пушей на сайт в интерфейсе Mindbox.
- Получите Sender Id на своем проекте Firebase, чтобы использовать для интеграции на сайте.
2. Установите Service Worker на сайте
Ограничение на количество Service Worker (SW)
Несколько SW в одной области сайта, или scope, не поддерживается на уровне технологии (RFC).
Например, если ваш сайт реализует поддержку PWA (progressive web apps), то SW от PWA будет перерегистрировать SW Mindbox, если регистрировать оба SW в одном scope.
Для такой интеграции следует регистрировать SW Mindbox в scope отличном от того, где регистрируется SW сайта. Примеры рекомендуемой интеграции есть на первой вкладке в шаге 3.
Нужно установить SW, чтобы ваши пользователи могли подписываться на уведомления и получать вебпуши.
Для этого разместите в корне или в другой директории сайта файл mindbox-services-worker.js.
Code
Domain API Mindbox
Это домен, по которому будет происходить обращение в API Mindbox.
Чтобы получить нужный домен для вашего проекта, сделайте следующее:
- Откройте админку проекта.
- Перейдите в операции (Кампании - Список кампаний - Операции).
- Откройте любую операцию.
- Нажмите «Посмотреть описание».
- Возьмите домен из URL из спецификации операции.

Не передавайте в этом поле адрес административного раздела
Проверьте результат
Файл должен быть доступен по адресу и не быть закрыт редиректами.
Должно получиться вот так, если файл будет в корне: site.ru/mindbox-services-worker.js


3. Доработайте трекер Mindbox на сайте
Найдите где размещен код трекера Mindbox. Он может быть размещен прямо в html коде сайта, контейнере GTM или в отдельной папке.
Внесите в него следующие изменения.
Рекомендуем первые два способа, в которых путь размещения файла SW и scope совпадают и расположены в корне или в другой области сайта.
Для сайтов, созданных с помощью конструкторов.
Потребуется разместить файл SW не в корне сайта и регистрировать SW в scope, совпадающим с областью размещения файла или ниже. Для этого воспользуйтесь способом из первой вкладки ниже.
Code
4. Начинайте собирать подписчиков
Для сбора подписчиков есть 2 пути:
- С помощью поп-апа
- С помощью других форм встроенных в страницы сайта
Важно использовать один из этих способов, чтобы гарантировать показ системного окна браузера для сбора подписок во всех браузерах, например в Safari.
Если вызывать системное окно браузера автоматически по тайм-ату, а не после клика пользователя в поп-апе или встроенном блоке, часть браузеров будет блокировать такое поведение: не получится собрать подписчиков и отправлять больше пушей.
Сбор подписчиков с помощью попапа
При подключении модуля веб-пушей всем клиентам доступно неограниченное кол-во попапов для сбора подписчиков без дополнительной платы. Настройка делается в 3 простых шага. После согласия в попапе пользователю показывается системное окно для фиксации разрешения в браузере.
Алгоритм настройки
- Заведите попап из доступных шаблонов "Для push-подписки”. Настройте внешний вид, условия показа и частоту всплывания. Подробнее про процесс настройки: https://help.mindbox.ru/docs/подписка-на-web-push-уведомления
- Запустите попап.

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