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

Методы Web Push SDK

подсказка

Подробнее о настройке Web Push-рассылок на платформе, а также установке SDK на сайт можно прочитать в этом разделе.

В данной статье описаны методы Web Push SDK и возможные параметры для них. Для каждого метода также приведен пример использования.

initSubscription

Метод инициализирует подписку. Используется для записи данных клиента в профиль и выполнения поиска среди существующих профилей.

Параметры

ПараметрТипОбязательныйОписание
matchobjectДаОпределяет матчинг профиля. Если не будет передана база профилей для поиска, платформа будет искать профиль в привязанных к ресурсу базах.
updateobjectНетСодержит данные для внесения в новый или существующий профиль

Пример использования

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

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

updateSubscription

Метод для обновления данных профиля и изменения статуса push-подписок.

Параметры

ПараметрТипОбязательныйОписание
matchobjectДаОпределяет матчинг профиля. Если не будет передана база профилей для поиска, платформа будет искать профиль в привязанных к ресурсу базах.
updateobjectНетСодержит данные для внесения в новый или существующий профиль
inexclusivebooleanНетЕсли флаг inexclusive не передан или равен false:

1. Если фильтр баз не указан, то в каждой базе ресурса будет только один профиль с одной подпиской на актуальный токен со статусом "Подписан".
2. Если фильтр указан, то в каждой из заданных баз будет только один профиль с одной подпиской на актуальный токен со статусом подписан. В остальных базах при этом будут приостановлены все совпадающие подписки на ресурс у всех профилей.

Если флаг inexclusive равен true, то вызов эквивалентен вызову AKPush.initSubscription, т.е. произойдет обновление данных профиля и смена статуса подписки на "Подписан".

Пример использования

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

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

AKPush.events.on

Метод для подписки на события, связанные с push-уведомлениями.

Параметры

ПараметрТипОбязательныйОписание
subscribe
update_subscription
suspend_subscription
stringДаНазвание произошедшего события
callbackfunctionДа

Функция, которая будет вызвана в момент, когда происходит событие. Для subscribe будут возвращены параметры:

{
browser: "<браузер подписчика>"
provider: "<push-провайдер>"
token: "<токен подписчика>"
}


Для update_subscription и suspend_subscription будут возвращены параметры:

{
browser: "<браузер подписчика>"
provider: "<push-провайдер>"
token: "<токен подписчика>"
tokenCached: "<кэшированный токен подписчика>"
}

Параметр токена может вернуть null в качестве значенияи.

Пример использования

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

suspendSubscription

Метод, приостанавливающий подписку пользователя на push-уведомления.

Параметры

ПараметрТипОбязательныйОписание
matchobjectДаОпределяет матчинг профиля. Если не будет передана база профилей для поиска, платформа будет искать профиль в привязанных к ресурсу базах.
updateobjectНетСодержит данные для внесения в новый или существующий профиль

Пример использования

const akPush = new AKPush();
AKPush.suspendSubscription(
{
db: 1
email: 'example@email.com'
}, // Поиск профиля по email.

{
_status: 'inactive'
} // обновление статуса в профиле подписчика
)

AKPush.removeToken

Данный метод используется для удаления токена устройства из кэша. Используется, например, в тех ситуациях, когда на устройстве сменился пользователь. Для этого метода не нужно задавать параметры.

Пример использования

AKPush.removeToken()