Баннерная реклама
Это архивная версия документации. Актуальная документация по всем платформам находится здесь.
Баннер — это настраиваемое объявление, которое занимает часть экрана и реагирует на нажатие.
Добавление Banner
в проект
Чтобы отобразить баннер в вашем приложении, создайте объект Banner
в скрипте (на C#), который прикреплен к GameObject
.
... using YandexMobileAds; using YandexMobileAds.Base; ... public class YandexMobileAdsBannerDemoScript : MonoBehaviour { private Banner banner; ... private void RequestBanner() { string adUnitId = "demo-banner-yandex"; // Set flexible banner maximum width and height AdSize bannerMaxSize = AdSize.FlexibleSize(GetScreenWidthDp(), 100); // Or set sticky banner maximum width //AdSize bannerMaxSize = AdSize.StickySize(GetScreenWidthDp()); banner = new Banner(adUnitId, bannerMaxSize, AdPosition.BottomCenter); } // Example how to get screen width for request private int GetScreenWidthDp() { int screenWidth = (int)Screen.safeArea.width; return ScreenUtils.ConvertPixelsToDp(screenWidth); } ... }
Скопировано
Конструктор Banner
содержит следующие параметры:
AdUnitId
— уникальный идентификатор, который выдается в Партнерском интерфейсе и имеет следующий вид: R-M-XXXXXX-Y;AdSize
— размер баннера, который необходимо показать;AdPosition
— позиция на экране.
- FlexibleSize(int width, int height) — адаптивный баннер с заданной максимальной шириной и высотой.
- StickySize(int width) — адаптивный баннер с заданной максимальной шириной.
- Фиксированные размеры. Устаревший вариант запрашиваемого размера, рекомендовано использовать Flexible или Sticky размеры.
Размер | Устройство | Константа AdSize |
---|---|---|
320 x 50 | Телефоны и планшеты | BANNER_320x50 |
320 x 100 | Телефоны и планшеты | BANNER_320x100 |
300 x 250 | Телефоны и планшеты | BANNER_300x250 |
300 x 300 | Телефоны и планшеты | BANNER_300x300 |
240 x 400 | Телефоны и планшеты | BANNER_240x400 |
400 x 240 | Телефоны и планшеты | BANNER_400x240 |
728 x 90 | Планшеты | BANNER_728x90 |
Размер | Устройство | Константа AdSize |
---|---|---|
320 x 50 | Телефоны и планшеты | BANNER_320x50 |
320 x 100 | Телефоны и планшеты | BANNER_320x100 |
300 x 250 | Телефоны и планшеты | BANNER_300x250 |
300 x 300 | Телефоны и планшеты | BANNER_300x300 |
240 x 400 | Телефоны и планшеты | BANNER_240x400 |
400 x 240 | Телефоны и планшеты | BANNER_400x240 |
728 x 90 | Планшеты | BANNER_728x90 |
Загрузка рекламы
После создания и настройки объекта класса Banner
необходимо загрузить рекламу. Для загрузки рекламы используйте метод LoadAd
, принимающий в качестве параметра объект AdRequest
.
... private void RequestBanner() { ... AdRequest request = new AdRequest.Builder().Build(); banner.LoadAd(request); ... } ...
Скопировано
События баннерной рекламы
Чтобы отслеживать события, происходящие в баннерной рекламе, зарегистрируйте делегата для соответствующего EventHandler
, как показано ниже:
... private void RequestBanner() { ... banner.OnAdLoaded += HandleAdLoaded; banner.OnAdFailedToLoad += HandleAdFailedToLoad; banner.OnReturnedToApplication += HandleReturnedToApplication; banner.OnLeftApplication += HandleLeftApplication; banner.OnAdClicked += HandleAdClicked; banner.OnImpression += HandleImpression; ... } public void HandleAdLoaded(object sender, EventArgs args) { MonoBehaviour.print("HandleAdLoaded event received"); banner.Show(); } public void HandleAdFailedToLoad(object sender, AdFailureEventArgs args) { MonoBehaviour.print("HandleAdFailedToLoad event received with message: " + args.Message); } public void HandleLeftApplication(object sender, EventArgs args) { MonoBehaviour.print("HandleLeftApplication event received"); } public void HandleReturnedToApplication(object sender, EventArgs args) { MonoBehaviour.print("HandleReturnedToApplication event received"); } public void HandleAdLeftApplication(object sender, EventArgs args) { MonoBehaviour.print("HandleAdLeftApplication event received"); } public void HandleAdClicked(object sender, EventArgs args) { MonoBehaviour.print("HandleAdClicked event received"); } public void HandleImpression(object sender, ImpressionData impressionData) { var data = impressionData == null ? "null" : impressionData.rawData; MonoBehaviour.print("HandleImpression event received with data: " + data); }
Скопировано
Очистка рекламы
Когда объект рекламы больше не нужен, его можно удалить. Для этого вызовите метод Destroy
:
banner.Destroy();
Скопировано