Рекламные баннеры

Представления баннеров представляют собой прямоугольные изображения или текстовые объявления, занимающие определенное место на экране. Они остаются на экране, пока пользователи взаимодействуют с приложением, и могут автоматически обновляться через определенный период времени. Если вы новичок в мобильной рекламе, это отличное место для начала. Тематическое исследование .

В этом руководстве показано, как интегрировать представления баннеров в приложение Unity. Помимо фрагментов кода и инструкций, он также содержит информацию о правильном размере баннеров и ссылки на дополнительные ресурсы.

Предварительные условия

Всегда тестируйте с помощью тестовых объявлений

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

Однако после того, как вы зарегистрировали приложение в веб-интерфейсе AdMob и создали собственные идентификаторы рекламных блоков для использования в нем, во время разработки явно настройте свое устройство как тестовое .

Андроид

ca-app-pub-3940256099942544/6300978111

iOS

ca-app-pub-3940256099942544/2934735716

Инициализируйте SDK мобильной рекламы

Перед загрузкой рекламы попросите ваше приложение инициализировать Mobile Ads SDK, вызвав MobileAds.Initialize() . Это необходимо сделать только один раз, в идеале при запуске приложения.

using GoogleMobileAds;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize((InitializationStatus initStatus) =>
        {
            // This callback is called once the MobileAds SDK is initialized.
        });
    }
}

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

Пример баннервиев

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

Создать вид баннера

Первым шагом в использовании представления баннера является создание экземпляра представления баннера в сценарии C#, прикрепленном к GameObject .


  // These ad units are configured to always serve test ads.
#if UNITY_ANDROID
  private string _adUnitId = "ca-app-pub-3940256099942544/6300978111";
#elif UNITY_IPHONE
  private string _adUnitId = "ca-app-pub-3940256099942544/2934735716";
#else
  private string _adUnitId = "unused";
#endif

  BannerView _bannerView;

  /// <summary>
  /// Creates a 320x50 banner view at top of the screen.
  /// </summary>
  public void CreateBannerView()
  {
      Debug.Log("Creating banner view");

      // If we already have a banner, destroy the old one.
      if (_bannerView != null)
      {
          DestroyAd();
      }

      // Create a 320x50 banner at top of the screen
      _bannerView = new BannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
  }

Конструктор BannerView имеет следующие параметры:

  • adUnitId : идентификатор рекламного блока, из которого BannerView должен загружать рекламу.
  • AdSize : размер объявления, которое вы хотите использовать. Подробную информацию см. в разделе «Размеры баннеров» .
  • AdPosition : позиция, в которой должен располагаться баннер. Перечисление AdPosition перечисляет допустимые значения позиции объявления.

Обратите внимание, как используются разные рекламные блоки в зависимости от платформы. Вам необходимо использовать рекламный блок iOS для отправки запросов объявлений на iOS и рекламный блок Android для отправки запросов на Android.

(Необязательно) Создайте вид баннера с произвольной позицией.

Для большего контроля над размещением BannerView на экране, чем то, что предлагается значениями AdPosition , используйте конструктор, который имеет координаты x и y в качестве параметров:

// Create a 320x50 banner views at coordinate (0,50) on screen.
_bannerView = new BannerView(_adUnitId, AdSize.Banner, 0, 50);

Верхний левый угол BannerView располагается в значениях x и y, переданных конструктору, где начало координат находится в верхнем левом углу экрана.

(Необязательно) Создайте вид баннера нестандартного размера.

Помимо использования константы AdSize , вы также можете указать собственный размер вашего объявления:

// Use the AdSize argument to set a custom size for the ad.
AdSize adSize = new AdSize(250, 250);
_bannerView = new BannerView(_adUnitId, adSize, AdPosition.Bottom);

Загрузите рекламный баннер

Чтобы загрузить объявление, создайте AdRequest и передайте его методу LoadAd() .

/// <summary>
/// Creates the banner view and loads a banner ad.
/// </summary>
public void LoadAd()
{
    // create an instance of a banner view first.
    if(_bannerView == null)
    {
        CreateBannerView();
    }

    // create our request used to load the ad.
    var adRequest = new AdRequest();

    // send the request to load the ad.
    Debug.Log("Loading banner ad.");
    _bannerView.LoadAd(adRequest);
}

Прослушивание событий просмотра баннеров

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

/// <summary>
/// listen to events the banner view may raise.
/// </summary>
private void ListenToAdEvents()
{
    // Raised when an ad is loaded into the banner view.
    _bannerView.OnBannerAdLoaded += () =>
    {
        Debug.Log("Banner view loaded an ad with response : "
            + _bannerView.GetResponseInfo());
    };
    // Raised when an ad fails to load into the banner view.
    _bannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
    {
        Debug.LogError("Banner view failed to load an ad with error : "
            + error);
    };
    // Raised when the ad is estimated to have earned money.
    _bannerView.OnAdPaid += (AdValue adValue) =>
    {
        Debug.Log(String.Format("Banner view paid {0} {1}.",
            adValue.Value,
            adValue.CurrencyCode));
    };
    // Raised when an impression is recorded for an ad.
    _bannerView.OnAdImpressionRecorded += () =>
    {
        Debug.Log("Banner view recorded an impression.");
    };
    // Raised when a click is recorded for an ad.
    _bannerView.OnAdClicked += () =>
    {
        Debug.Log("Banner view was clicked.");
    };
    // Raised when an ad opened full screen content.
    _bannerView.OnAdFullScreenContentOpened += () =>
    {
        Debug.Log("Banner view full screen content opened.");
    };
    // Raised when the ad closed full screen content.
    _bannerView.OnAdFullScreenContentClosed += () =>
    {
        Debug.Log("Banner view full screen content closed.");
    };
}

Уничтожить вид баннера

Завершив использование представления баннера, обязательно вызовите Destroy() чтобы освободить ресурсы.

/// <summary>
/// Destroys the banner view.
/// </summary>
public void DestroyAd()
{
    if (_bannerView != null)
    {
        Debug.Log("Destroying banner view.");
        _bannerView.Destroy();
        _bannerView = null;
    }
}

Вот и все! Теперь ваше приложение готово к показу рекламных баннеров.

Обновить объявление

Если вы настроили обновление рекламного блока, вам не нужно запрашивать другое объявление, если оно не загружается. Google Mobile Ads SDK учитывает любую частоту обновления, указанную вами в пользовательском интерфейсе AdMob. Если вы не включили обновление, отправьте новый запрос. Дополнительные сведения об обновлении рекламных блоков, например настройке частоты обновления, см. в разделе Использование автоматического обновления для баннерной рекламы .

В таблице ниже указаны стандартные размеры баннеров.

Размер в дп (ШxВ) Описание Доступность Константа AdSize
320x50 Стандартный баннер Телефоны и планшеты BANNER
320x100 Большой баннер Телефоны и планшеты LARGE_BANNER
300x250 Средний прямоугольник IAB Телефоны и планшеты MEDIUM_RECTANGLE
468x60 Полноразмерный баннер IAB Таблетки FULL_BANNER
728x90 Таблица лидеров IAB Таблетки LEADERBOARD
Предоставленная ширина x Адаптивная высота Адаптивный баннер Телефоны и планшеты Н/Д
Ширина экрана х 32|50|90 Смарт-баннер Телефоны и планшеты SMART_BANNER
Узнайте больше об адаптивных баннерах , предназначенных для замены смарт-баннеров .

Дополнительные ресурсы