Пропустить навигацию

Реклама

Обновлено: 12.08.2026
Открыть как Markdown

Плеер показывает видеорекламу по VAST/VPAID-тегу или через Google IMA. Настроить можно параметром URL или через IFrame API.

Базовый сценарий для сайта без API — в разделе Реклама продуктовой документации. Ниже — программная настройка.

Реклама может не работать с DRM-защищённым видео. Блокировщики рекламы и политики автозапуска браузера тоже могут мешать показу.

Простое встраивание: adtagurl

<iframe
  src="https://kinescope.io/embed/VIDEO_ID?adtagurl=https%3A%2F%2Fexample.com%2Fvast.xml"
  allow="autoplay; fullscreen; picture-in-picture; encrypted-media; gyroscope; accelerometer; clipboard-write; screen-wake-lock;"
  style="border: none;"
></iframe>

Значение adtagurl должно быть URL-encoded. Параметр в статусе @experimental.

IFrame API: playlist[].ad

Задаётся при create() или через setPlaylistItemOptions .

Pre-roll по URL тега

playerFactory.create('player', {
  url: 'https://kinescope.io/VIDEO_ID',
  playlist: [
    {
      ad: {
        adTagUrl: 'https://example.com/vast.xml',
      },
    },
  ],
})

Можно передать массив URL: adTagUrl: ['https://…/a.xml', 'https://…/b.xml'].

Mid-roll и несколько точек

Для точек показа передайте массив элементов с trigger:

playlist: [
  {
    ad: [
      {
        id: 'preroll',
        adTagUrl: 'https://example.com/preroll.xml',
        trigger: { percentages: [0] },
      },
      {
        id: 'midroll',
        adTagUrl: 'https://example.com/midroll.xml',
        trigger: { timePoints: [60, 180] },
      },
      {
        id: 'every-10-min',
        adTagUrl: 'https://example.com/recurring.xml',
        trigger: { interval: 600 }, // каждые 10 минут
      },
    ],
  },
]
Поле triggerОписание
percentagesПроцент текущего времени, например [0, 50]
timePointsСекунды, например [60, 600]
intervalПовтор каждые N секунд, например 600

В каждом элементе массива укажите один способ срабатывания.

Варианты источника рекламы

ПолеСтатусОписание
adTagUrlпубличныйURL VAST/VPAID-тега (или массив)
adTag@experimentalГотовый текст тега (или массив)
adsRequest@experimentalОбъект запроса Google IMA (adsRequest)
yaOptions@experimentalНастройки Yandex Video Ads SDK

В одном элементе рекламы используйте только одно из этих полей.

Пример с готовым тегом:

ad: {
  adTag: `<?xml version="1.0"?><VAST version="3.0">…</VAST>`,
}

Событие рекламной паузы

player.on(player.Events.AdBreakStateChanged, (event) => {
  if (event.data.active) {
    // реклама идёт
  } else {
    // рекламный брейк закончился
  }
})

Событие AdBreakStateChanged@experimental.

Что дальше?