Skip to content

Настройка Web Message Inbox

Предварительные требования

Section titled “Предварительные требования”

Убедитесь, что вы внедрили Wavesend Web SDK на свой сайт. Для этого следуйте нашему руководству.

Web Message Inbox позволяет хранить web push-уведомления, чтобы пользователи могли вернуться к ним позже, гарантируя, что важные сообщения будут просмотрены.

Типичный рабочий процесс с InboxMessages выглядит следующим образом:

ШагМетод
Загрузка страницы
Синхронизация сообщений с сервером

InboxMessagesModel.updateMessages
Выполняется при инициализации SDK

Удаление устаревших сообщений

InboxMessagesModel.updateMessages
Выполняется при инициализации SDK

Получение количества непрочитанных сообщений для обновления значка

Wavesend.pwinbox.unreadMessagesCount
Выполняется вручную (после срабатывания события onUpdateInboxMessages)

Загрузка сообщений для отображения в Inbox

Wavesend.pwinbox.loadMessages
Выполняется вручную (после срабатывания события onUpdateInboxMessages)

Отметка сообщений, попавших в область просмотра, как прочитанных

Wavesend.pwinbox.readMessagesWithCodes
Выполняется вручную

Выполнение действия, назначенного открытому сообщению

Wavesend.pwinbox.performActionForMessageWithCode
Выполняется вручную

Удаление сообщений по клику на иконку удаления или свайпу сообщения вправо

Wavesend.pwinbox.performActionForMessageWithCode
Выполняется вручную

onUpdateInboxMessages
// Выполняется после автоматического обновления Inbox при загрузке страницы.
Wavesend.push(['onUpdateInboxMessages', function(api, pwinbox) {
pwinbox.loadMessages().then(function(messages) {
console.log('СОБЫТИЕ: onUpdateInboxMessages', messages);
});
}]);
onPutNewMessageToInboxStore
// Выполняется ServiceWorker после получения и сохранения сообщения Inbox в indexedDB.
Wavesend.push(['onPutNewMessageToInboxStore', function(api, message) {
console.log('СОБЫТИЕ: onPutNewMessageToInboxStore', message);
}]);

Публичный модуль WebSDK InboxMessagesPublic представляет публичный интерфейс для реализации Web Inbox.

Model
type TInboxMessageTypePlain = 0;
type TInboxMessageTypeRichmedia = 1;
type TInboxMessageTypeURL = 2;
type TInboxMessageTypeDeeplink = 3;
type TInboxMessageType = TInboxMessageTypePlain // зависит от action_params
| TInboxMessageTypeRichmedia
| TInboxMessageTypeURL
| TInboxMessageTypeDeeplink;
interface IInboxMessagePublic {
code: string; // inbox_id
title: string; // title
message: string; // body
imageUrl: string; // image
sendDate: string; // send_date
type: TInboxMessageType; // зависит от action_params
isRead: boolean; // true, если статус "read" или "open"
link: string; // Deeplink | URL | "/"
isActionPerformed: boolean; // true, если статус "open"
}

Ознакомьтесь с описаниями публичных методов в руководстве Web Push SDK 3.0.