Жизненный цикл рекламы
Состояния показа
Каждый показ заканчивается событием AdDestroyed — чем бы он ни закончился.
Один ролик
События во времени
Пример для ролика 20 секунд, который можно пропустить через 5 секунд:
AdStarted0 с · playAd()AdFirstQuartile5 с · 25 %AdSkippableStateChanged5 с · skipoffset 5 сAdMidpoint10 с · 50 %AdThirdQuartile15 с · 75 %AdComplete20 с · 100 %
Откуда SDK знает время
В приложениях квартили и момент пропуска SDK считает по вызовам timeupdateAd(). Если их нет, событий после AdStarted не будет. В браузере и для VPAID время SDK берёт сам.
Рекламный блок (ad pod)
Если VAST содержит несколько роликов, SDK показывает их по очереди. Каждый ролик проходит свой цикл от AdLoaded до AdDestroyed.
| Событие | Сколько раз |
|---|---|
AdStarted | Один раз за блок |
AdLoaded, AdCreativeStarted, квартили, AdComplete, AdDestroyed | Для каждого ролика |
AdPodCompleted | Один раз, после последнего ролика |
AdsEnded | Один раз, в конце всей рекламы (только браузер) |
ad_number — номер ролика в блоке, начиная с 1. У рекламы из одного ролика ad_number равен -1.
Пропуск
Время пропуска задаёт VAST (skipoffset). Если у ролика его нет, ролик нельзя пропустить и кнопка не появляется.
Клик по рекламе
SDK не открывает ссылку сам: это делает приложение по событию AdClick. Как вести себя после перехода — закрыть рекламу или поставить на паузу — подсказывает getAdCloseAct().
Ошибки
Коды ошибок — в разделе Ошибки.
Когда закрывать рекламу
В приложении — закройте WebView, в браузере — вызовите controller.destroy().