Что нужно знать об интеграции вебпушей
  • 13 Mar 2024
  • 2 минуты
  • Темная тема
    Светлая тема
  • формат pdf

Что нужно знать об интеграции вебпушей

  • Темная тема
    Светлая тема
  • формат pdf

Article Summary

Пошаговую инструкцию по интеграции можно найти по ссылке .
В данной статье подробно рассмотрим её важнейшие составляющие и зачем они нужны.

SERVICE WORKER (SW)

Что это такое?

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

Как SW участвует в процессах вебпушей?

  • Подписка и обновление данных клиента:

SW передаёт данные в mindbox о разрешении/запрете на показ пушей в браузере, а также токен при наличии разрешения.

  • Отправка пушей:

SW получает сообщение от firebase о наличии пуша для браузера клиента и отрисовывает его.

Поэтому доступность пушей напрямую зависит от поддержки браузером SW. На данный момент вебпуши поддерживаются на десктопе в последних версиях Chrome, Яндекс.Браузер, Opera, Firefox, Edge, Safari 16.1+ на macOS и на мобильных устройствах в Chrome и Firefox.
На iOS вебпуши не поддерживаются.

Следить можно по ссылке .

  • Взаимодействие с пушом:

SW регистрирует клик по пушу и передаёт эту информацию в Mindbox.

Какую роль играют расположение SW и его scope?

Scope - это область видимости SW. Он определяет, из какой части домена SW принимает запросы.

Scope указывается относительно корня домена, а не расположения JS-файла, регистрирующего SW. Если файл находится в корне, областью видимости SW является весь сайт.

Указывать его не обязательно. В таком случае область видимости будет соответствовать расположению файла SW.
Например, у вас есть сайт example.com и на нём установлен SW со значением scope /new/

В таком случае область видимости SW включает директории /new/, /new/one/, /new/one/more/, но не /new и / .

SW Mindbox можно устанавливать не только в корень. Примеры такой интеграции есть в инструкции.

Почему сайт должен быть HTTPS?

Такое ограничение связано с применением SW и нужно для обеспечения сохранности передаваемых данных.

Дело в том, что, используя SW, можно перехватывать запросы, фильтровать и подменять ответы. Работа по https (HyperText Transfer Protocol) позволяет этого избежать за счёт использования протокола TLS для шифрования данных.

Sender ID

Что это такое?

Для отправки пушей Mindbox использует сервис Firebase Cloud Messaging (FCM).
На первом шаге интеграции стадии Mindbox создаёт в нём проект для вашей точки интеграции (ТИ), по сути — сайта.
При этом получаем Sender id (идентификатор проекта в FCM) и секретный ключ.

Как участвует в процессах вебпушей?

  • Подписка:

Когда пользователь разрешает показ пушей, в FCM создаётся токен для браузера клиента на этом сайте.
Sender id нужен для того, чтобы токен был добавлен в нужный проект FCM.

  • Отправка:

Sender id используется при отправке пуша для нахождения нужного проекта в FCM.

Трекер

При инициализации трекера происходит конфигурирование параметров SW и FCM, необходимых для корректной работы пушей.

mindbox("webpush.create")

Функция запускает инициализацию SW.

Инициирует передачу разрешения и обновление токена посредством SW.

Нестандартные автоматические рассылки на разных этапах жизненного цикла клиента