Баннеры

In the Get Started guide, you learned how to deploy the SDK and display a test banner ad. Теперь мы расскажем, как настраивать баннеры.

Чтобы посмотреть, как все эти баннеры выглядят в интерфейсе, скачайте приложение API Demo для Android.

Скачать API Demo

Поддерживаются следующие форматы баннеров:

Размер (Ш x В) Описание Устройства Константа AdSize
320 x 50 Стандартный баннер Смартфоны и планшеты BANNER
320 x 100 Большой баннер Смартфоны и планшеты LARGE_BANNER
300 x 250 Средний прямоугольник (IAB) Смартфоны и планшеты MEDIUM_RECTANGLE
468 x 60 Полный баннер (IAB) Планшеты FULL_BANNER
728 x 90 Полноразмерный баннер (IAB) Планшеты LEADERBOARD
Ширина экрана x 32|50|90 Смарт-баннер Смартфоны и планшеты SMART_BANNER

SDK запрашивает тот размер, который был задан при создании экземпляра PublisherAdView. Если на экране устройства недостаточно места для объявления, оно не будет показано.

Смарт-баннеры

Смарт-баннеры – это рекламные блоки, которые позволяют показывать рекламу во весь экран на самых разных устройствах при любой их ориентации. При этом объявление автоматически подгоняется по ширине экрана в зависимости от положения устройства.

В смарт-баннерах используются три варианта высоты объявления в пикселях dp (не зависящих от плотности):

  • 32: высота экрана устройства <= 400;
  • 50: 400 < высота экрана устройства <= 720;
  • 90: высота экрана устройства > 720.

Высота экрана мобильных устройств зависит от их ориентации. Смарт-баннеры на смартфонах обычно имеют размер "ширина экрана  х 50" при вертикальной ориентации и "ширина экрана х 32" при горизонтальной. На планшетах в любом случае используется размер "ширина экрана х 90".

Если графическое объявление занимает отведенное место не полностью, то изображение располагается по центру, а оставшееся пространство заполняется заливкой.

Чтобы использовать смарт-баннеры, задайте для размера объявления постоянное значение SMART_BANNER:

PublisherAdView adView = new PublisherAdView(this);
adView.setAdSizes(AdSize.SMART_BANNER);

Собственный размер объявлений

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

Пример:

// Define custom AdSize of 250x250 for PublisherAdView

AdSize customAdSize = new AdSize(250, 250);
PublisherAdView adView = new PublisherAdView(this);
adView.setAdSizes(customAdSize);

Посмотрите, как реализованы разные размеры объявлений DFP в приложении API Demo для Android.

Несколько размеров объявлений

DFP позволяет указать несколько размеров объявлений, которые могут быть показаны в PublisherAdView. Перед реализацией функции в SDK создайте кампанию с таргетингом на тот рекламный блок, который связан с несколькими размерами объявлений.

В приложении достаточно просто передать несколько параметров AdSize в метод setAdSizes:

PublisherAdView adView = new PublisherAdView(this);
adView.setAdSizes(AdSize.BANNER, new AdSize(120, 20), new AdSize(250, 250));

Если PublisherAdView меняет размер при обновлении, шаблон должен автоматически адаптироваться к новому размеру.

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

// Drop support for 120x20 ad size.
adView.setAdSizes(new AdSize(250, 250), AdSize.BANNER);

До получения следующего объявления в представлении PublisherAdView по умолчанию используется размер, переданный в первом параметре.

Посмотрите, как реализованы разные размеры объявлений DFP в приложении API Demo для Android.

Подсчет показов вручную

Вы можете вручную отправлять запросы на показ в DFP при наличии специальных условий, когда показ должен быть зарегистрирован. Для этого включите регистрацию показов вручную в запросе PublisherAdRequest перед загрузкой объявлений:

PublisherAdRequest adRequest = new PublisherAdRequest.Builder()
    .setManualImpressionsEnabled(true)
    .build();

Увидев, что объявление успешно получено и отображается на экране, вы можете вручную зарегистрировать показ.

PublisherAdView.recordManualImpression();

События в приложении

С помощью событий вы можете создавать объявления, которые будут отправлять сообщения в код приложения. На основе этих сообщений затем выполняются определенные действия.

При желании вы можете отслеживать события DFP, используя AppEventListener. Эти события могут происходить в любое время жизненного цикла пользователя, в том числе ещё до вызова метода onAdLoaded() для объекта AdListener.

public interface AppEventListener {
  void onAppEvent(String name, String info);
}

void onAppEvent(String name, String info) вызывается, когда в объявлении происходит событие.

Этот интерфейс может быть реализован в Activity или в любом другом объекте:

import com.google.android.gms.ads.doubleclick.*;

public class BannerExample extends Activity implements AppEventListener {
}

Затем данные передаются в PublisherAdView:

adView.setAppEventListener(this);

В следующем примере показано, как изменять цвет фона приложения в зависимости от события в приложении, содержащего название цвета:

@Override
public void onAppEvent(String name, String info) {
  if ("color".equals(name)) {
    if ("green".equals(info) {
      // Set background color to green.
    } else if ("blue".equals(info) {
      // Set background color to blue.
    } else {
      // Set background color to black.
    }
  }
}

Вот креатив, который отправляет в объект прослушивания сообщения о событиях в приложении с указанием цвета:

<html>
<head>
  <script src="//media.admob.com/api/v1/google_mobile_app_ads.js"></script>
  <script>
    // Send a color=green event when ad loads.
    admob.events.dispatchAppEvent("color", "green");

    handleClick = function() {
      // Send a color=blue event when ad is clicked.
      admob.events.dispatchAppEvent("color", "blue");
    };
  </script>
  <style>
    #ad {
      width: 320px;
      height: 50px;
      top: 0px;
      left: 0px;
      font-size: 24pt;
      font-weight: bold;
      position: absolute;
      background: black;
      color: white;
      text-align: center;
    }
  </style>
</head>
<body>
  <div id="ad" onClick="handleClick()">Carpe diem!</div>
</body>
</html>

Посмотрите, как реализованы события в объявлениях DFP в приложении API Demo для Android.

Обратные вызовы событий в жизненном цикле объявления

При желании можно отслеживать события жизненного цикла объявления, например клики и неудачные запросы, передавая объект в PublisherAdView.setAdListener, который расширяет com.google.android.gms.ads.AdListener.

public abstract class AdListener {
  public void onAdLoaded();
  public void onAdFailedToLoad(int errorCode);
  public void onAdOpened();
  public void onAdClosed();
  public void onAdLeftApplication();
}

Можно создать отдельный класс, расширяющий интерфейс AdListener, или же встроить объект AdListener:

adView.setAdListener(new AdListener() {
  @Override
  public void onAdOpened() {
    // Save app state before going to the ad overlay.
  }
});

AdListener предлагает пустую реализацию всех событий жизненного цикла объявления по умолчанию. Вам нужно переопределить только события, которые вы хотите реализовать.

public void onAdLoaded()
Вызывается при успешном получении объявления.
public void onAdFailedToLoad(int errorCode)

Вызывается, когда не удается выполнить запрос. Возможные коды ошибок:

  • AdRequest.ERROR_CODE_INTERNAL_ERROR
  • AdRequest.ERROR_CODE_INVALID_REQUEST
  • AdRequest.ERROR_CODE_NETWORK_ERROR
  • AdRequest.ERROR_CODE_NO_FILL
public void onAdOpened()

Вызывается, когда объявление открывает оверлей, заслоняющий экран.

public void onAdClosed()

Вызывается, когда пользователь после клика по объявлению возвращается к приложению.

public void onAdLeftApplication()

Вызывается, когда объявление выходит из приложения (например, переходит в браузер).

Посмотрите, как реализован объект прослушивания объявления и его методы в приложении API Demo для Android.

Дальнейшие действия

  • Подробнее о полноэкранных межстраничных объявлениях читайте в руководстве по работе с ними.

  • Подробнее о таргетинге баннеров читайте здесь.

Оставить отзыв о...

Текущей странице
SDK for DFP Users on Android
Нужна помощь? Обратитесь в службу поддержки.