Skip to content

Android TV

Интеграция для телевизоров и приставок на Android TV. Код тот же, что для Android, отличия — в адресе, наборе кнопок и управлении с пульта.

Что меняется

AndroidAndroid TV
Адрес…/android/v3/…/androidtv/v3/
УправлениеКасаниеПульт: стрелки, OK
Кнопкиad-skip-btn, ad-click-btn, ad-more-menu, ad-disable-btnad-skip-btn, ad-click-btn, ad-disable-btn, ad-info, ad-notice
ERID и рекламодательВ меню «Подробнее»Всегда на экране (ad-info)

Раскладка экрана

Точно так же экран выглядит в песочнице с платформой Android TV: она рендерит SDK в разрешении 960×540, как у телевизора 1080p.

Пульт

  • Когда WebView получает фокус, SDK ставит его на кнопку ad-disable-btn, если она включена.
  • Кнопки OK и Enter нажимают элемент в фокусе.
  • Чтобы передать фокус интерактивному VPAID-креативу, вызовите window.myAdController.setFocusToPlayer().

Передайте фокус WebView

Нажатия пульта получает только View в фокусе. Сразу после открытия рекламы вызовите webView.requestFocus(), иначе кнопки SDK не будут реагировать.

kotlin
webView.isFocusable = true
webView.isFocusableInTouchMode = true
webView.loadUrl(adPageUrl)
webView.requestFocus()

Кнопка «Назад»

Реклама не закрывается сама по кнопке «Назад». Решите, что она делает в вашем приложении, — например, разрешите выход только после AdSkippableStateChanged(true):

kotlin
private var isSkippable = false      // true после AdSkippableStateChanged(true)

override fun onBackPressed() {
    if (isSkippable) sdk("skipAd()")   // до этого момента «Назад» ничего не делает
}

Остальное — плеер, события, timeupdateAd() — как на Android.