Видеореклама

Видеореклама строится на стандарте VAST Video Ad Serving Template. Это XML-документ, который выступает «сценарием» для видеоплеера на стороне площадки — он сообщает плееру, откуда скачать сам видеофайл, какие пиксели вставить на 25%, 50% и 100% просмотра, и куда вести при клике.

Объект imp.video

В запросе площадка SSP передает параметры видеоплеера, чтобы DSP прислала ролик, который этот плеер физически сможет проиграть.

Параметр

Описание

mimes

Поддерживаемые форматы. Как правило, ["video/mp4"] для InApp и Web, и если плеер поддерживает интерактивные скрипты (старый VPAID), то application/javascript.

minduration

Минимальная длина ролика в секундах. Например, от 5 секунд.

maxduration

Максимальная длина ролика в секундах. Например, до 30 секунд.

protocols

Версии VAST — массив чисел, обозначающих, какие версии стандарта VAST понимает плеер. Например:

  • 2 = VAST 2.0
  • 3 = VAST 3.0
  • 7 = VAST 4.0
  • 8 = VAST 4.0 Wrapper

placement

Тип размещения:

  • In-Stream — ролик проигрывается внутри другого видеоконтента (Pre-roll, Mid-roll). Плеер со звуком, как на YouTube или в онлайн-кинотеатрах.
  • Out-Stream — видеоплеер появляется там, где нет другого видео, например, раскрывается между абзацами текста в статье.
  • Interstitial — полноэкранное видео, всплывающее между действиями.

w

Ширина окна плеера.

h

Высота окна плеера.

linearity

Возможные значения:

  • 1 — Linear, видео перекрывает весь плеер, ставит основной контент на паузу.
  • 2 — Non-Linear, видео накладывается поверх контента (как плашка внизу экрана).

Протокол VAST

Видеоплеер считывает XML и делает следующие действия:

  1. <Impression> — как только видео начинает проигрываться, плеер использует эту ссылку, чтобы DSP засчитала показ.
  2. <MediaFiles> — содержит ссылку на mp4-файл, который плеер скачивает и проигрывает.
  3. <TrackingEvents> — трекинг досматриваемости (Quartiles). Плеер должен отправлять пинг на сервер DSP, когда пользователь посмотрел 25% (firstQuartile), 50% (midpoint), 75% и 100% (complete) ролика.
  4. <VideoClicks> — если пользователь кликнет по плееру, будет перенаправлен на ссылку из <ClickThrough>, а по ссылке из <ClickTracking> будет отправлена статистика.

Трекинг ошибок (Error Pixels)

В видеорекламе могут возникать ошибки, такие как файл не найден, формат не поддерживается плеером, таймаут Wrapper, поэтому в VAST предусмотрен тег <Error>. Если плеер не смог воспроизвести ролик, он использует эту ссылку, подставляя туда макрос ошибки (например, [ERRORCODE]=400), чтобы сообщить DSP, почему ее реклама не была показана.

Виды ошибок VAST с описанием можно найти в официальной документации IAB VAST 3.0.

Пример запроса

{
  "id": "req-video-999",
  "imp": [
    {
      "id": "imp-1",
      "bidfloor": 5.00,
      "video": {
        "mimes": [
          "video/mp4"
        ],
        "minduration": 5,
        "maxduration": 15,
        "protocols": [ 2, 3, 5, 6 ], 
        "w": 1080,
        "h": 1920,
        "placement": 5, 
        "linearity": 1,
        "api": [ 7 ] 
      }
    }
  ],
  "app": {
    "bundle": "com.game.racer"
  }
}

Пример ответа

В ответ DSP отправляет ставку, а в поле adm — передает VAST XML (сам код либо ссылку на него).

Внимание

В реальном JSON-ответе XML-строка в adm идет с экранированными кавычками (\").

{
  "id": "req-video-999",
  "seatbid": [
    {
      "seat": "dsp-video-1",
      "bid": [
        {
          "id": "bid-777",
          "impid": "imp-1",
          "price": 6.50,
          "nurl": "https://dsp.com/win?bid=777&price=${AUCTION_PRICE}",
          "adm": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><VAST version=\"3.0\"><Ad id=\"12345\"><InLine><AdSystem>DSP_Name</AdSystem><AdTitle>Promo Video</AdTitle><Impression><![CDATA[https://dsp.com/track/impression?bid=777]]></Impression><Creatives><Creative><Linear><Duration>00:00:15</Duration><TrackingEvents><Tracking event=\"firstQuartile\"><![CDATA[https://dsp.com/track/q1]]></Tracking><Tracking event=\"midpoint\"><![CDATA[https://dsp.com/track/q2]]></Tracking><Tracking event=\"thirdQuartile\"><![CDATA[https://dsp.com/track/q3]]></Tracking><Tracking event=\"complete\"><![CDATA[https://dsp.com/track/complete]]></Tracking></TrackingEvents><VideoClicks><ClickThrough><![CDATA[https://landing.brand.com]]></ClickThrough><ClickTracking><![CDATA[https://dsp.com/track/click]]></ClickTracking></VideoClicks><MediaFiles><MediaFile delivery=\"progressive\" type=\"video/mp4\" width=\"1080\" height=\"1920\"><![CDATA[https://cdn.dsp.com/video/ad_1080x1920.mp4]]></MediaFile></MediaFiles></Linear></Creative></Creatives></InLine></Ad></VAST>"
        }
      ]
    }
  ]
}

Внимание

Как правило видеофайлы весят около 3–15 МБ, и из-за долгой загрузки в мобильных играх InApp показывать видео сразу после победы в аукционе нельзя. Поэтому SDK сначала скачивает mp4-файл в фоновом режиме (кэширует на устройство), и только когда пользователь доходит до нужного момента в игре, мгновенно запускает ролик.