Перейти к основному содержимому

Передача данных в платформу

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

подсказка

Настройка Web Push на платформе Altcraft предполагает использование методов Web Push SDK. Подробнее о методах SDK можно узнать из этой статьи. Инструкцию по установке SDK на ваш сайт можно прочесть здесь.

Импорт профилей клиентов при подписке на Web Push-уведомления

Когда пользователь подпишется на Web Push-уведомления, в Базы данных и в Ресурс, в котором был сгенерирован Toolkit, размещенный на сайте, будет добавлен новый профиль.

к сведению

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

Когда подписчик кликает на push-уведомление (переход по ссылке), платформа Altcraft собирает данные о профиле:

  • страна, регион, часовой пояс, город, почтовый индекс и IP адрес, с которого произошла подписка на push;
  • браузер и операционная система подписчика.

В случае устаревания токена или повторной подписки пользователя на push, платформа автоматически обновит его подписку и выдаст новый токен. Таким образом в базе данных не будут создаваться дубликаты профилей.

примечание

Мобильные браузеры также поддерживают Service worker и Web push-уведомления.

Передача данных клиента при импорте профиля через push-канал

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

Пример с поиском по email в ресурсе и добавлением имени и фамилии пользователя:

const akPush = new AKPush();
akPush.initSubscription(
{
email: 'example@email.com'
}, // Поиск профиля по email. Также будет записано в профиль, если совпадений не найдётся.

{
_fname: 'Anatoly',
_lname: 'Wasserman'
} // запись в профиль подписчика имени и фамилии
)

Если к ресурсу привязано несколько баз данных, вы можете задать идентификатор той базы, в которую необходимо импортировать профиль. Пример с поиском по email в базе данных с id=1:

const akPush = new AKPush();
akPush.initSubscription(
{
db: 1
email: 'example@email.com'
}, // Поиск профиля по email. Также будет записано в профиль, если совпадений не найдётся.

{
_fname: 'Anatoly',
_lname: 'Wasserman'
} // запись в профиль подписчика имени и фамилии
)

Пример с поиском по email в базах данных с id=15 и id=20:

const akPush = new AKPush();
akPush.initSubscription(
{
db: [15,20]
email: 'example@email.com'
}, // Поиск профиля по email. Также будет записано в профиль, если совпадений не найдётся.

{
_fname: 'Anatoly',
_lname: 'Wasserman'
} // запись в профиль подписчика имени и фамилии
)
подсказка

Список полей профиля приведён в этой статье.

Обновление данных профиля и приостановка подписок

предупреждение

akPush.updateSubscription вернет ошибку, если перед этим не был получен актуальный токен через akPush.initSubscription, или он был удален из кеша с помощью akPush.removeToken.

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

const akPush = new AKPush();
akPush.updateSubscription(
{
db: [15,20]
email: 'example@email.com'
},

{
_fname: 'Anatoly',
_lname: 'Wasserman'
}, // запись в профиль подписчика имени и фамилии
false // флаг для inexclusive, определяет, нужно ли приостанавливать все подписки на ресурс с текущим токеном браузера у остальных профилей (по умолчанию)
)

События создания и обновления Web Push-подписки

Пользователи платформы могут подписаться на события создания и обновления (изменения токена подписчика) push-подписки. При наступлении такого события данные о подписке можно отправить на сторонний сервер с помощью дополнительного кода.

Чтобы подписаться на события, добавьте следующий код на страницы сайта:

AKPush.events.on('subscribe', (data) => { // подписка на событие subscribe
console.log(data);
});
AKPush.events.on('update_subscription', (data) => { // подписка на событие update_subscription
console.log(data);
});

Данный код выведет в консоль токен подписчика, а также информацию о браузере и push-провайдере.