Плавающий чат с лавашаром
Обновлено 15 января 2024
import React, { FC } from 'react';
import { createAssistantClient } from '@salutejs/client';
import { FloatingAssistantChatLottie, FloatingAssistantChatMethods } from '@sberdevices/assistant-web-sdk/floatingAssistantChatLottie';
// Клиент VPS
const client = createAssistantClient(...);
export const FloatingChatWithAssistant: FC = () => {
const chatRef = useRef<FloatingAssistantChatMethods>(null);
return (
<FloatingAssistantChatLottie
ref={chatRef}
assistant={client}
mobile={false}
// allowLightCanvas={false}
// character="sber"
// disableGreetings={false}
// disableTransparentArea={false}
// features={{
// certErrorMessage: {...},
// closeByOutsideClick: false,
// disableAssistantUi: false,
// disableStartWithLowQuality: false,
// enableChatOverCanvas: true,
// useCustomFontLoading: false,
// }}
// history={{
// store: {...},
// disable: false,
// }}
// kpssAnimationSpritesUrl="example.com/sprites"
// kpssSize="large"
// onCanvasRender={<Canvas />}
// onDeepLink={() => {}}
// onEvent={() => {}}
// onOpenChatWithOperator={() => {}}
// position={...}
// sendTextAsSsml={false}
// themeColor="light"
// tooltip={<Tooltip />}
// userPreferences={{
// store: {...},
// disable: false,
// }}
// webTelemetry={...}
/>
);
};
Параметры чата и их описание:
ref— объект чата.assistant— объект, который получаем при вызовеcreateAssistantClient. Подробнее Настройка клиента VPS.mobile— указывает на включение мобильного режима отображения чата. Подробнее Определение флага mobile.allowLightCanvas— включение использования текущей темы для Canvas-контейнера. Подробнее Управление цветом стандартного контейнера Canvas App.character— стартовый персонаж ассистента.disableGreetings— отключение приветственных сообщений от ассистента. Подробнее Приветствие виртуального ассистента.disableTransparentArea— отключение кликабельности прозрачной области вокруг лавашара. Подробнее Некликабельность прозрачной области вокруг лавашара плавающего чата.features.certErrorMessage— объект пользовательских данных для сообщения об ошибке, связанной с недействительным сертификатом.features.closeByOutsideClick— закрытие чата при клике по странице. Значение по умолчанию —false.features.disableAssistantUi— отключение интерфейса ассистента.features.disableStartWithLowQuality— отключение использования растровых анимаций лавашара в низком качестве при старте асситента (при FloatingAssistantChatImage). По умолчанию мобильная версия использует низкое качество до загрузки высокого.features.useCustomFontLoading— отключение загрузки шрифтов ассистентом, если шрифт SB Sans загружается страницей. Используется для всех видов чата. Значение по умолчанию —false.features.enableChatOverCanvas— отключение использования чата вместе с Canvas App. Еслиtrue, то канвас будет закрыт при вызове чатапа.history.store— пользовательское хранилище истории общения клиента. Подробнее Хранилище истории и пользовательских настроек.history.disable— отключение истории общения клиента.kpssAnimationSpritesUrl— альтернативный CDN для лавашара.kpssSize— размер лавашара при закрытом чате.onCanvasRender— компонент пользовательского Canvas App. Подробнее Использование пользовательского контейнера Canvas App.onDeepLink— обработка стендонезависимых ссылок.onEvent— подписка на события аналитики чата. Подробнее Использование аналитики.onOpenChatWithOperator— подписка на события открытия чата с оператором.position— параметры управления позицией чата. Подробнее Управление позицией плавающего чата и лавашара.sendTextAsSsml— включение отправки текстовых сообщений в формате SSML.themeColor— цвет темы. Возможные значения: dark — темная тема, light — светлая тема.tooltip— пользовательский компонент подсказки. Подробнее Всплывающая подсказка ассистента.userPreferences.store— пользовательское хранилище настроек клиента. Подробнее Хранилище истории и пользовательских настроек.userPreferences.disable— отключение хранения настроек клиента.webTelemetry— объект конфигурации WebTelemetry.
Методы чата и их описание:
open– открытие чата. Принимает объект с параметрами.close– закрытие чата.clearHistory– очистка истории общения клиента. Описание Очистка истории.showTooltip– открытие встроенной всплывающей подсказки для закрытого чата. Принимает текст подсказки или объект с параметрами.isOpen– текущее состояние чата.