# Web пуши
Примите во внимание, перенос базы собранных токенов не имеет смысла.
Многие сервисы не показывают полную статистику жизненного цикла по доставке web push уведомлений и не удаляют невалидные токены из базы, по этой причине статистика рассылки после переносе базы собранных токенов может сильно измениться.
Также есть ряд особенностей работы технологии web push уведомлений, которые могут сделать перенос базы собранных токенов нецелесообразной. Вот некоторые их них:
- При отправке сообщения, должны быть использованы те же ключи, что и при генерации токена в момент его создания.
- Сервис воркер отвечает за показ уведомлений в браузере, если после переноса формат данных сообщения измениться и пользователь не обновит сервис воркер заходом на сайт, он не увидит сообщение при рассылке.
# Смена сервиса отправки web push сообщений
Для того чтобы переключить сервис рассылки web push сообщений, в первую очередь необходимо отключить скрипт обработчик текущего сервиса и подключить скрипт обработчик нового.
В один момент времени на сайте не может работать больше одного скрипта, это приведет к тому, что токены пользователей, которые были получены первым скриптом будут аннулированы вторым. Каждый скрипт будет подписывать их своими ключами шифрования и при попытке отправить сообщение такие токены будут аннулированы.
# Правильная последовательность действий:
- Отключить скрипт текущего сервиса.
- Изменить содержимое текущего файла сервис воркера на содержимое:
'use strict';importScripts('https://app.rees46.ru/assets/webpush/sw.js');
Смена названия или местоположения файла приведет к аннулированию подписки. Если файл останется на прежнем месте и с прежним именем, будет сгенерирован новый токен, сама подписка не будет аннулирована.
В настройках панели управления REES46 указать имя файла сервис воркера и путь к нему. Пример на скриншоте:
Подключить скрипт нового сервиса.
С этого момента все подписанные клиенты будут в фоне передавать свои токены в новый сервис. Повторная подписка не требуется, разрешение на получение web push сообщений не будет сброшено.
# Перенос базы собранных токенов.
Если текущий сервис может экспортировать токены и предоставить ключи шифрования, мы можем импортировать их к себе в систему. Такие токены будут анонимными и по ним можно будет слать только массовые рассылки. Для того, чтобы по ним можно было слать триггеры, при импорте нужно указать как минимум один идентификатор покупателя - email, телефон, карту лояльности или ID пользователя в магазине.
Если контактов нет, самый простой способ связать токен пользователя с его профилем в системе - заставить перейти по ссылке в web push сообщении. Для этого после смены сервиса отправки можно делать массовые рассылки в прошлом сервисе. Токены, которые были получены ранее будут валидными до момента перехода покупателя на сайт магазина. После перехода токен будет передан в новый сервис вместе с ID устройства, что позволит слать ему триггерные сообщения.
# Настройки для Safari
- Для того, чтобы подключить web push уведомления, необходимо авторизоваться в консоли разработчика Apple Developer Console (opens new window)
- Перейти в список сертификатов, идентификаторов и профилей Certificates, Identifiers & Profiles → Identifiers (opens new window)
- Cоздать идентификатор в разделе Certificates, Identifiers & Profiles → Web Push IDs (opens new window).
- Выбрать Website Push IDs
- Заполнить поля с описанием и уникальным идентификатором
- Нажать на кнопку Continue
- Двойным кликом в списке перейти на страницу идентификатора
- Зарегистрировать идентификатор нажатием на кнопку Register
- Вернуться на страницу идентификатора и создать новый сертификат нажатием на кнопку Create Certificate
- Создаем запрос на сертификат. Для этого открываем приложение Связка ключей → Запросить сертификат у бюро сертификации.
- Вводим только E-mail, общее имя и выбираем место сохранения - Сохранен на диске
- Сохраняем сертификат на рабочий стол, возвращаемся на страницу создания нового сертификата (opens new window) и нажимаем Choose File, выбираем сертификат и нажимаем Continue.
- Скачиваем готовый сертификат на рабочий стол нажатием на кнопку Download.
- Двойным кликом устанавливаем сертификат в «Связку ключей».
- Экспортируем приватный ключ. Выбираем пункты «Вход» и «Мои сертификаты», находим наш сертификат и экспортируем его в файл .p12, указав пароль к сертификату.
- В настройках Web push подписок находим раздел
Настройки для сафари
, загружаем приватный ключ и заполняем необходимую информацию.