Баннерная реклама

Внимание.

Это архивная версия документации. Актуальная документация по всем платформам находится здесь.

Баннер — это настраиваемое объявление, которое занимает часть экрана и реагирует на нажатие.

  1. Типы баннера
  2. Подключение баннера
  3. Пример работы с баннерной рекламой

Типы баннера

Особенности:

  1. Используется заданная ширина баннера. Высота подбирается автоматически.
  2. Ширина баннера задается с помощью метода stickySize.
  3. Высота баннера не должна превышать 15% высоты устройства и не должна быть меньше 50 dp.

Примеры отображения баннера:

Подключение баннера

Создание BannerAdview

  1. Добавьте объект класса BannerAdView в проект с помощью XML-файла или программно.

    // Создание экземпляра mBannerAdView с помощью XML-файла.
            mBannerAdView = (BannerAdView) findViewById(R.id.banner_view);
    
    // Создание экземпляра mBannerAdView программно.
            mBannerAdView = new BannerAdView(this);
  2. Установите AdUnitId, используя метод setAdUnitId.

    mBannerAdView.setAdUnitId(<AdUnitId>)

    AdUnitId — уникальный идентификатор рекламного места, который выдается в Партнерском интерфейсе и имеет вид: R-M-XXXXXX-Y.

  3. Установите размеры баннера, используя метод setAdSize.

    Чтобы задать ширину баннера, вызовите метод stickySize(int width), где width — максимальная ширина баннера.

    mBannerAdView.setAdSize(AdSize.stickySize(width));
    Ограничение. Требования к размерам баннера при отображении видеорекламы

    Минимальный размер баннера, в котором поддерживается воспроизведение видео: 300x160 или 160x300 в dp (density-independent pixels).

  4. После создания и настройки объекта класса BannerAdView для отслеживания событий (открытие или закрытие рекламы, выход из приложения, успешная и неудачная загрузка рекламы) на объект рекламы можно установить слушатель AdEventListener.

Загрузка рекламы

Примечание.

Все вызовы Mobile Ads SDK следует выполнять с главного потока.

После создания и настройки объекта класса AdView, рекламу необходимо загрузить.

Для загрузки рекламы используйте метод loadAd, принимающий в качестве параметра объект класса AdRequest:
mBannerAdView.loadAd(adRequest);
Скопировано

Особенности загрузки

С помощью объекта AdRequest передайте код, полученный в интерфейсе Adfox (подробнее смотрите в помощи по Adfox):
// Код из интерфейса Adfox для работы с прямыми кампаниями.
Map<String, String> parameters = new HashMap<String, String>();
parameters.put("adf_ownerid", "example");
parameters.put("adf_p1", "example");
parameters.put("adf_p2", "example");
parameters.put("adf_pfc", "example");
parameters.put("adf_pfb", "example");
parameters.put("adf_plp", "example");
parameters.put("adf_pli", "example");
parameters.put("adf_pop", "example");
parameters.put("adf_pt", "example");
parameters.put("adf_pd", "example");
parameters.put("adf_pw", "example");
parameters.put("adf_pv", "example");
parameters.put("adf_prr", "example");
parameters.put("adf_pdw", "example");
parameters.put("adf_pdh", "example");
parameters.put("adf_puid1", "example");

final AdRequest adRequest = AdRequest.builder().withParameters(parameters).build();
Скопировано

Пример работы с баннерной рекламой

Следующий код демонстрирует создание и настройку объекта 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>
...
public class BannerExample extends Activity {
    ...
    private static final String adUnitId = "YOUR_adUnitId";
    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(AdSize.FULL_WIDTH));
          
        // Код из интерфейса Adfox для работы с прямыми кампаниями.
        Map<String, String> parameters = new HashMap<String, String>();
        parameters.put("adf_ownerid", "example");
        parameters.put("adf_p1", "example");
        parameters.put("adf_p2", "example");
        parameters.put("adf_pfc", "example");
        parameters.put("adf_pfb", "example");
        parameters.put("adf_plp", "example");
        parameters.put("adf_pli", "example");
        parameters.put("adf_pop", "example");
        parameters.put("adf_pt", "example");
        parameters.put("adf_pd", "example");
        parameters.put("adf_pw", "example");
        parameters.put("adf_pv", "example");
        parameters.put("adf_prr", "example");
        parameters.put("adf_pdw", "example");
        parameters.put("adf_pdh", "example");
        parameters.put("adf_puid1", "example");
          
        // Создание объекта таргетирования рекламы.
        final AdRequest adRequest = AdRequest.builder().withParameters(parameters).build();
          
        // Регистрация слушателя для отслеживания событий, происходящих в баннерной рекламе.
        mBannerAdView.setAdEventListener(new BannerAdEventListener() {
            @Override
            public void onAdLoaded() {
              ...
            }
        });
          
        // Загрузка объявления.
        mBannerAdView.loadAd(adRequest);
    }
}   
Скопировано

Если реклама подключена данным образом, после запуска приложения появится баннер:

Чтобы посмотреть, как баннерная реклама будет отображаться в приложении, используйте демонстрационный AdUnitId:
  • demo-banner-yandex