Настройка сайта для Web Push

Чтобы начать использовать функционал Web Push уведомлений, вам необходимо выполнить следующие действия:

1. Установить наш скрипт на каждую страницу сайта:

<script type="text/javascript">
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = '//cdn.enkod.ru/script/enpop.min.js';
    script.async = true;
    var first = document.getElementsByTagName('script')[0];
    first.parentNode.insertBefore(script, first);
    var enKodBox = window.enKodBox = window.enKodBox || {};    
    var ekEvents = window.ekEvents || [];
    enKodBox['token'] = 'СИСТЕМНОЕ_ИМЯ';
</script>

Вместо СИСТЕМНОЕ_ИМЯ нужно подставить системное имя аккаунта. Системное имя аккаунта задается при создании аккаунта в платформе и не равно отправляющему домену или адресу сайта. Вы можете узнать системное имя у вашего персонального менеджера.

2. Скачайте архив по ссылке, извлеките из него файл firebase-messaging-sw.js и поместите файл в корень сайта (открыть .gz архив можно любым архиватором: например, WinRAR)

3. Сообщите вашему менеджеру, что все готово

Настройка сайта для отправки Web Push на устройства iOS в Safari

Пользователи будут получать веб-пуши на iOS только в том случае, если они произведут следующие манипуляции:

  1. С мобильного устройства через браузер зайдут на сайт
  2. Нажмут «Поделиться» → На экран «Домой»
  3. Откроют сайт через иконку с экрана «Домой»
  4. Нажмут на сайте хотя бы одну любую кнопку
  5. Разрешат получение веб-пушей

Клик по веб-пушу на устройствах iOS будет всегда открывать сайт, даже если в адресе перехода будет указана иная ссылка.

Если вам подходит описанный процесс получения веб-пушей клиентом, то необходимо провести следующую настройку сайта (помимо дефолтной, описанной выше):

  • В корне сайта необходимо разместить файл manifest.json. В файле множество параметров, каждый из которых индивидуален для проекта и должен быть корректно настроен (например иконка или название сайта). Если файл настроен и размещен верно, то в консоли разработчика вы сможете увидеть информацию о нем и проверить отсутствие ошибок

  • Свойство display должно принимать значение либо standalone, либо fullscreen. Выбрать подходящую опцию необходимо исходя из ваших требований.
  • На каждой странице сайта в теге <head> необходимо добавить строку:
<link rel="manifest" crossorigin="use-credentials" href="/manifest.json">

Особенности работы Web Push в Safari

enKod позволяет отправлять веб-пуш уведомления на устройства macOS (Safari) с определенными особенностями:

  • Всплывающее окно с разрешением на показ веб-пушей будет отображено только после того, как пользователем будет нажата любая кнопка на сайте
  • Версия Safari должна быть от 16.2 и выше
  • Пуши на Safari под ОС Windows не будут работать

Создание и отправка Web Push уведомлений

Первый шаг создания сообщения - выбор канала коммуникации

Условия отправки

Можно отправить Web Push мгновенно или запланировать отправку на нужный день и время. Кроме этого, доступен вариант автоматической регулярной отправки (задается дата начала и дата окончания отправки, а также необходимые час/день/неделя/месяц).

  • Мгновенное - отправится сразу после настройки
  • Запланированное - дата и время отправки задается вручную в процессе создания
  • Регулярное - вручную задается начальная и конечная дата отправки, а также регулярность: каждый час (каждый час в выбранном временном промежутке), каждый день (ежедневно в заданное время), каждую неделю (выбранные дни недели в заданном промежутке), по месяцам (либо по выбранным дням недели, либо по выбранным числам ежемесячно)

Редактор сообщения

На этом шаге нужно указать тему сообщения, его контент, ссылку на изображение, если оно будет использоваться, и ссылку для перехода. В окне слева будет отображаться предпросмотр Web Push. UTM-метки и URL параметры работают так же, как в емейл-сообщениях. Здесь же можно прикрепить теги к Web Push сообщению.

Можно выбрать предпросмотр Web Push как на десктопе, так и в мобильной версии. Здесь же можно настроить время жизни Web Push в секундах.

Получатели

После создания Web Push нужно указать получателей сообщения. Для этого включите или исключите необходимые вам сегменты из рассылки.

Вы можете использовать любые необходимые вам сегменты. Например, для того, чтобы отправлять пуши контактам, для которых в enKod есть только токены, настройте Данные ➔ Сегменты ➔ Новый сегмент (для сообщений):

  • По данным пользователя → Поле → Поле Web Push token не пустое

На каждом шаге вы можете вернуться на предыдущие, кликнув на кнопку «Назад» или на заголовок любого этапа, отмеченный галочкой. Кроме того, сообщение можно сохранить как черновик. После этого оно появится в списке сообщений, где его можно будет скопировать, редактировать или удалить.

Сводный отчет

Последний шаг - просмотр деталей сообщения: превью Web Push, данных о контенте, об отправке и получателях. После того как вы проверите их и нажмёте кнопку «Отправить», сообщение будет создано и отправлено, если условием отправки выбрано «сейчас».

Время жизни Web Push

У Web Push есть «время жизни» в секундах, которое можно задать в мастере создания. Отправка Web Push происходит сразу всем контактам из выбранных сегментов. В статистику при этом записывается количество отправок. Время жизни - максимально допустимое (исходя из актуальности контента) время, которое устанавливается для ожидания момента, пока получатель зайдет в браузер и сможет увидеть уведомление. Если за это время Web Push не был показан (пользователь так и не открыл браузер), то попытки показа будут остановлены. После того, как Web Push показался, в статистике записывается открытие.

Информация о получателях Web Push

В сегментах на отправку Web Push получатели считаются по количеству уникальных контактов, однако за одним контактом может быть закреплено более одного устройства. В связи с этим количество отправленных сообщений (отображаются в Детали сообщенияСтатистика по количеству устройств) может быть больше ожидаемого. В разделе Детали сообщенияИнформацияПолучатели вы можете отслеживать количество получателей, отправленных и не отправленных сообщений отдельно по уникальным контактам и отдельно по количеству устройств.

Обратите внимание: даже при верных настройках у некоторых пользователей по умолчанию могут блокироваться показы уведомлений, если пользователь самостоятельно на других сайтах часто их запрещал.

Настройка скрипта для Web Push уведомлений на разных сайтах и сегментация

Вы можете установить скрипт для сбора подписок на пуши на несколько разных сайтов. Токены будут храниться в базе контактов с привязкой к источнику (конкретному URL).

Если появится необходимость отправить Web Push уведомления с разным контентом на подписчиков с разных сайтов, то вы можете использовать сегментацию по источнику Web Push токенов и таким способом выбрать из базы только контакты, которые подписались на пуши с конкретного URL.

Обратите внимание, что не для всех токенов будет сохранен источник, так как запись этих данных была реализована только в марте 2025г.

Стоит учесть, что при подписке на веб-пуши одним контактом на разных сайтах ему будет присвоено число токенов по количеству сайтов. При отправке уведомления на этот контакт он получит сразу несколько веб-пушей, исходя из того, сколько токенов было создано.

Последнее изменение: 2025.07.02 07:16 — Anastasia Aniskova