Баннерная реклама
Это архивная версия документации. Актуальная документация по всем платформам находится здесь.
Баннер — это настраиваемое объявление, которое занимает часть экрана и реагирует на нажатие.
Типы баннера
Особенности:
- Используется заданная ширина баннера. Высота подбирается автоматически.
- Ширина баннера задается с помощью метода stickySize.
- Высота баннера не должна превышать 15% высоты устройства и не должна быть меньше 50 dp.
Примеры отображения баннера:
Особенности:
- Баннер заполняет весь блок, используя заданные максимальные размеры.
- Ширина и высота баннера задается с помощью метода flexibleSize(int width, int height).
Примеры отображения баннера:
Подключение баннера
Создание Adview
Добавьте объект класса
BannerAdView
в проект с помощью XML-файла или программно.// Создание экземпляра mBannerAdView с помощью XML-файла. mBannerAdView = (BannerAdView) findViewById(R.id.banner_view); // Создание экземпляра mBannerAdView программно. mBannerAdView = new BannerAdView(this);
Установите
AdUnitId
, используя метод setAdUnitId.mBannerAdView.setAdUnitId(<AdUnitId>)
AdUnitId
— уникальный идентификатор рекламного места, который выдается в Партнерском интерфейсе и имеет вид: R-M-XXXXXX-Y.Установите размеры баннера, используя метод setAdSize.
Чтобы задать ширину баннера, вызовите метод stickySize(int width), где width — максимальная ширина баннера.
mBannerAdView.setAdSize(AdSize.stickySize(width));
Чтобы задать ширину и высоту баннера, вызовите метод flexibleSize(int width, int height).
mBannerAdView.setAdSize(AdSize.flexibleSize(width, height));
Ограничение. Требования к размерам баннера при отображении видеорекламыМинимальный размер баннера, в котором поддерживается воспроизведение видео: 300x160 или 160x300 в dp (density-independent pixels).
После создания и настройки объекта класса
BannerAdView
для отслеживания событий (открытие или закрытие рекламы, выход из приложения, успешная и неудачная загрузка рекламы) на объект рекламы можно установить слушатель AdEventListener.
Загрузка рекламы
Все вызовы Mobile Ads SDK следует выполнять с главного потока.
После создания и настройки объекта класса BannerAdView
, рекламу необходимо загрузить. Для загрузки рекламы, используйте метод loadAd, принимающий в качестве параметра объект AdRequest (Builder, опционально принимающий данные для таргетирования рекламы).
Пример работы с баннерной рекламой
Следующий код демонстрирует создание и настройку объекта BannerAdView
, регистрацию слушателя, а также загрузку баннера:
...
<LinearLayout>
...
<com.yandex.mobile.ads.banner.BannerAdView
android:id="@+id/banner_ad_view"
android:layout_width=“match_parent”
android:layout_height="wrap_content"/>
</LinearLayout>
...
private BannerAdView mBannerAdView;
@Override
public void onCreate(Bundle savedInstanceState) {
...
// Создание экземпляра mAdView.
mBannerAdView = (BannerAdView) findViewById(R.id.banner_ad_view);
mBannerAdView.setAdUnitId(AdUnitId);
mBannerAdView.setAdSize(AdSize.stickySize(maxBannerWidthDp));
// Создание объекта таргетирования рекламы.
final AdRequest adRequest = new AdRequest.Builder().build();
// Регистрация слушателя для отслеживания событий, происходящих в баннерной рекламе.
mBannerAdView.setAdEventListener(new BannerAdEventListener() {
@Override
public void onAdLoaded() {
...
}
@Override
public void onAdFailedToLoad(AdRequestError adRequestError) {
...
}
@Override
public void onLeftApplication() {
...
}
@Override
public void onReturnedToApplication() {
...
}
});
// Загрузка объявления.
mBannerAdView.loadAd(adRequest);
}
}
Если реклама подключена данным образом, после запуска приложения появится баннер:
YANDEX_AD_UNIT_ID = "demo-banner-yandex"
ADCOLONY_AD_UNIT_ID = "demo-banner-adcolony"
ADMOB_AD_UNIT_ID = "demo-banner-admob"
APPLOVIN_AD_UNIT_ID = "demo-banner-applovin"
CHARTBOOST_AD_UNIT_ID = "demo-banner-chartboost"
MINTEGRAL_AD_UNIT_ID = "demo-banner-mintegral"
MYTARGET_AD_UNIT_ID = "demo-banner-mytarget"
STARTAPP_AD_UNIT_ID = "demo-banner-startapp"
VUNGLE_AD_UNIT_ID = "demo-banner-vungle"