Перейти к содержимому
Разделы документации
SDKВебJavaScript SDK

Оформление и SPA

Настройки карточки и подключение к компонентам приложения.

Оформление

setAppearance()
ads.setAppearance({
colorScheme: "dark",
surface: "inline",
bodyFontSize: 14,
mediaHeight: 130
});
ПараметрЗначенияПо умолчанию
colorSchemeauto, light, darkauto
surfacecard / inlinecard

Размеры, px

ПараметрПо умолчаниюДиапазонОписание
bodyFontSize1413–16Размер текста
bodyLineHeight2018–26Высота строки
brandFontSize1413–16Размер названия бренда
metaFontSize1111–12Размер маркировки
mediaHeight130100–200Высота медиа
buttonFontSize1413–15Размер текста кнопок
buttonMinHeight3232–40Минимальная высота кнопки
buttonHorizontalPadding1210–16Отступы кнопки по горизонтали
contentPadding86–16Отступы внутри карточки
cornerRadius128–20Скругление карточки
blockSpacing64–10Расстояние между блоками
logoSize1816–24Размер логотипа

Значения за пределами диапазона ограничиваются ближайшей границей. В режиме inline скругление равно 0, отступы доступны от 0 до 16 px. Высота строки — не меньше 1,35 размера текста; название бренда — не меньше bodyFontSize − 1.

Ширину задаёт контейнер приложения; высота рассчитывается по содержимому. Стили карточки изолированы от CSS страницы.

React

Передайте компоненту ранее созданный клиент ads. При удалении контейнера вызовите unmount().

Запрашивайте рекламу после завершения ответа, когда question и answer больше не меняются. Повторный вызов с тем же requestId должен содержать те же параметры.

AdSlot.jsx
function AdSlot({ ads, messageId, question, answer }) {
const ref = React.useRef(null);
React.useEffect(() => {
const target = ref.current;
void ads.requestAd({
target,
requestId: messageId,
context: { question, answer }
});
return () => ads.unmount(target);
}, [ads, messageId, question, answer]);
return <div ref={ref} style={{ maxWidth: 480 }} />;
}

Жизненный цикл

СобытиеДействие
Повторная отрисовка сообщенияСохраните клиент, requestId и параметры запроса.
Экран скрытads.setScreenActive(false)
Экран открытads.setScreenActive(true)
Контейнер удалёнads.unmount(target)
Приложение закрытоads.dispose()