Skip to content

Браузер

На сайте SDK подключается скриптом и сам проигрывает рекламу в указанном контейнере — плеер на стороне сайта не нужен.

Подключите скрипт и стили

html
<link rel="stylesheet" href="https://cdn.adsdk.ru/web/v3/style.css" />
<script src="https://cdn.adsdk.ru/web/v3/ad-sdk.js"></script>

После загрузки появляется глобальный объект window.adSDK. Типы TypeScript — в файле ad-sdk.d.ts из поставки.

Подготовьте контейнер

Плеер занимает весь контейнер, поэтому контейнер должен иметь размеры до загрузки рекламы:

html
<div id="ad-player-slot" style="width: 640px; height: 360px"></div>

Размеры

SDK начинает загрузку, только когда у страницы есть размеры. Если за 3 секунды их нет, приходит AdError с кодом viewport_unavailable.

Создайте плеер и подпишитесь на события

js
const controller = await window.adSDK.init({
  refWrapper: document.getElementById('ad-player-slot'),
  lang: 'ru',
  settings: { controls: ['ad-skip-btn'], volume: 0.3 },
});

const { loader } = controller;

loader.on('AdLoaded', ({ ad_creative_duration_sec }) => {
  console.log('Длительность', ad_creative_duration_sec);
  loader.playAd();
});

loader.on('AdClick', ({ url }) => window.open(url, '_blank'));
loader.on('AdError', ({ code, message }) => console.warn(code, message));
loader.on('AdsEnded', () => controller.destroy());

Загрузите рекламу

js
loader.loadAd('https://ads.example.com/vast.xml', {
  adMediaFileWidth: -1,
  adMediaMaxDurationSec: -1,
  autoplay: false,
  controls: ['ad-skip-btn'],
  os: 'web',
  volume: 0.3,
});

adSDK.init(options)

ПолеТипОписание
refWrapperHTMLDivElementКонтейнер для плеера. Без него используется #ad-player-slot.
langstringЯзык интерфейса, по умолчанию en. См. Параметры.
settingsobjectНастройки плеера, все поля необязательны.

Возвращает Promise<AdController>:

ПолеОписание
loaderУправление рекламой: методы и события.
destroy()Останавливает рекламу, отписывает обработчики, удаляет плеер из контейнера.

Настройки settings

ПолеТипПо умолчаниюОписание
controlsstring[][]Элементы управления.
volumenumber0.3Громкость от 0 до 1.
autoplaybooleanfalseНачинать показ сразу после загрузки.
adMediaFileWidthnumber-1Желаемая ширина видео в пикселях, -1 — автоматически.
adMediaMaxDurationSecnumber-1Максимальная длительность в секундах, -1 — без ограничения.

Те же поля и os: 'web' передаются вторым аргументом в loader.loadAd(url, settings).

Интерфейс плеера

В браузере всегда видны кнопка воспроизведения, громкость, полоса прогресса, оставшееся время и ERID. Кнопку пропуска включает ad-skip-btn. Посмотреть интерфейс вживую можно в песочнице с платформой «Браузер».

Подписка и отписка

js
const subscription = loader.on('AdStarted', payload => { /* … */ });

subscription.unsubscribe();

Обработчик получает объект с данными события, ключи в snake_case.

Несколько плееров

Каждый вызов adSDK.init() создаёт независимый плеер со своим контроллером. Удалить все плееры сразу — window.adSDK.destroyAll().

Автозапуск в браузере

Браузеры блокируют автозапуск со звуком. Запускайте показ после действия пользователя или без звука. Если запуск заблокирован, приходит AdError с кодом permission_denied.