Видеореклама
Видеореклама строится на стандарте VAST Video Ad Serving Template. Это XML-документ, который выступает «сценарием» для видеоплеера на стороне площадки — он сообщает плееру, откуда скачать сам видеофайл, какие пиксели вставить на 25%, 50% и 100% просмотра, и куда вести при клике.
Объект imp.video
В запросе площадка SSP передает параметры видеоплеера, чтобы DSP прислала ролик, который этот плеер физически сможет проиграть.
|
Параметр |
Описание |
|
|
Поддерживаемые форматы. Как правило, |
|
|
Минимальная длина ролика в секундах. Например, от 5 секунд. |
|
|
Максимальная длина ролика в секундах. Например, до 30 секунд. |
|
|
Версии VAST — массив чисел, обозначающих, какие версии стандарта VAST понимает плеер. Например:
|
|
|
Тип размещения:
|
|
|
Ширина окна плеера. |
|
|
Высота окна плеера. |
|
|
Возможные значения:
|
Протокол VAST
Видеоплеер считывает XML и делает следующие действия:
<Impression>— как только видео начинает проигрываться, плеер использует эту ссылку, чтобы DSP засчитала показ.<MediaFiles>— содержит ссылку на mp4-файл, который плеер скачивает и проигрывает.<TrackingEvents>— трекинг досматриваемости (Quartiles). Плеер должен отправлять пинг на сервер DSP, когда пользователь посмотрел 25% (firstQuartile), 50% (midpoint), 75% и 100% (complete) ролика.<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-файл в фоновом режиме (кэширует на устройство), и только когда пользователь доходит до нужного момента в игре, мгновенно запускает ролик.