ym88659208ym87991671
Хранилище истории и пользовательских настроек | Документация для разработчиков

Хранилище истории и пользовательских настроек

Обновлено 15 января 2024

По умолчанию хранение истории сообщений и пользовательских настроек чата включено и реализуется с помощью window.localStorage.

Вы можете отключить хранение истории и/или настроек, а также заменить хранилище на собственное, реализующее объекты ChatHistoryStore или ChatUserPreferencesStore.

Чтобы управлять хранением истории и пользовательскими настройками, используйте параметры history и userPreferences. Их свойства:

  • store?: ChatHistoryStore | ChatUserPreferencesStore — собственная реализация хранилища;
  • disable?: boolean — если true, то хранение данных будет отключено. По умолчанию false.

Пример использования собственного хранилища истории сообщений на примере плавающего чата:

import React, { FC } from 'react';
import { ChatHistoryStore } from '@sberdevices/assistant-web-sdk';
import { FloatingAssistantChatLottie } from '@sberdevices/assistant-web-sdk/floatingAssistantChatLottie';

const historyStore: ChatHistoryStore = {
clear: () => {},
getHistory: () => [],
setHistory: (history = []) => {},
};

const history = {
store: historyStore,
disable: false,
};

export const FloatingChatWithAssistant: FC = () => {
return <FloatingAssistantChatLottie {...props} history={history} />;
};

Использование собственного хранилища пользовательских настроек:

import React, { FC } from 'react';
import { ChatUserPreferencesStore } from '@sberdevices/assistant-web-sdk';
import { FloatingAssistantChatLottie } from '@sberdevices/assistant-web-sdk/floatingAssistantChatLottie';

const userPreferencesStore: ChatUserPreferencesStore = {
clear: () => {},
getCharacter: () => 'sber',
getMuteMode: () => false,
getFirstSession: () => true,
setCharacter: (character) => {},
setFirstSession: (wasFirstSession) => {},
setMuteMode: (muteMode) => {},
};

const userPreferences = {
store: userPreferencesStore,
disable: false,
};

export const FloatingChatWithAssistant: FC = () => {
return <FloatingAssistantChatLottie {...props} userPreferences={userPreferences} />;
};
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.