На главную

Проигрыватель рекламных креативов в формате VAST/DAAST

Проигрыватель предназначен для запроса и воспроизведения VAST/DAAST рекламы, и при необходимости может управляться независимо от MelonPlayer.Ad. Он умеет только проверять наличие рекламы в xml по ссылке и играть её в заданном элементе с отправкой событий трекинга. При этом в проигрывателе используется ядро MelonPlayer'a в качестве плеера для рекламных аудио/видео роликов.

Класс MelonPlayer.Ad представляет собой расширение класса MelonPlayer.Core, дополненное данным проигрывателем, и управляющее воспроизведением рекламы в определённые моменты воспроизведения потока.

Общий алгоритм работы плеера: запрашивается реклама по ссылке, после чего, если реклама в ответе есть, она откручивается с отправкой всех необходимых трекинговых пикселей.

Плеер поддерживает паузу/возврат во время воспроизведения рекламы, а также пропуск.

Демо

Как подключить

Чтобы использовать плеер на своей странице, необходимо добавить 2 скрипта (скрипты указанные в документации ядра MelonPlayer'a подключать не надо):

<script src="//js.hostingradio.ru/melon/clappr/clappr.min.js"></script>
<script src="//js.hostingradio.ru/melon/melon-player-ad.js"></script>

API

Чтобы создать отдельный рекламный плеер, нужно использовать конструктор MelonPlayer.AdPlayer(parent, options).

Пример:

var adPlayer = new MelonPlayer.AdPlayer(document.getElementById('ad'), {
    // по умолчанию
    // timeout: 5000,
    // playAfterClick: true,
    // maxBannerSize: { width: false, height: false }
});

Объект options при создании плеера может включать следующие поля:

Дальнейшая работа с плеером заключается в вызове метода process(source), и возможности останавливать/возобновлять/пропускать рекламу во время её воспроизведения;

Пример:

// обработка рекламы (воспроизведение, если реклама есть в полученном VAST/DAAST) и последующее включение потока
async function playAd(source) {
    await adPlayer.process(source);
    mainPlayer.play();
}
// либо через чейнинг
function playAd(source) {
    adPlayer.process(source).then(mainPlayer.play());
}

// приостановка / возобновление рекламы
adPlayer.pauseAd();
adPlayer.resumeAd();

// пропуск рекламы
// метод асинхронный, и если после пропуска сразу нужно обработать другую рекламу, то обязательно нужно дождаться завершения его работы
adPlayer.skipAd().then(...);

Плеер поддерживает установку уровня громкости и имеет следующием методы для работы с громкостью:

Пример:

// установка уровня громкости
adPlayer.setVolume(50);     // 0-100
// отключение звука
adPlayer.mute();
// включение отключенного звука
adPlayer.unmute();

Также возможно менять поведение плеера при клике на рекламу:

Пример:

// приостанавливать воспроизведение при нажатии на рекламу
adPlayer.setPlayAfterClick(false);

В процессе работы доступны следующие свойства плеера:

Также плеер в процессе работы генерирует ряд событий. События перечисляются в объекте MelonPlayer.AdPlayerEvents.