Межстраничные объявления

Выберите платформу: Android iOS Unity Flutter

Полноэкранная реклама — это полноэкранная реклама, которая закрывает интерфейс основного приложения. Обычно она отображается в естественных переходных точках в процессе работы приложения, например, во время паузы между уровнями в игре. Когда приложение показывает полноэкранную рекламу, у пользователя есть выбор: нажать на неё и перейти к нужному месту или закрыть её и вернуться в приложение. Пример .

В этом руководстве объясняется, как интегрировать полноэкранную рекламу в приложение Unity.

Предпосылки

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

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

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

Андроид

ca-app-pub-3940256099942544/1033173712

iOS

ca-app-pub-3940256099942544/4411468910

Инициализируйте 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.
        });
    }
}

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

Выполнение

Основные шаги по интеграции полноэкранной рекламы:

  1. Загрузите рекламное объявление
  2. Показывать рекламное объявление
  3. Слушайте события межстраничной рекламы
  4. Уберите промежуточную рекламу
  5. Предварительная загрузка следующей рекламной вставки

Загрузите рекламное объявление

Загрузка полноэкранной рекламы осуществляется с помощью статического метода Load() класса InterstitialAd . Методу load требуются идентификатор рекламного блока, объект AdRequest и обработчик завершения, который вызывается при успешной или неудачной загрузке рекламы. Загруженный объект InterstitialAd предоставляется в качестве параметра обработчика завершения. В примере ниже показано, как загрузить InterstitialAd .


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

  private InterstitialAd _interstitialAd;

  /// <summary>
  /// Loads the interstitial ad.
  /// </summary>
  public void LoadInterstitialAd()
  {
      // Clean up the old ad before loading a new one.
      if (_interstitialAd != null)
      {
            _interstitialAd.Destroy();
            _interstitialAd = null;
      }

      Debug.Log("Loading the interstitial ad.");

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

      // send the request to load the ad.
      InterstitialAd.Load(_adUnitId, adRequest,
          (InterstitialAd ad, LoadAdError error) =>
          {
              // if error is not null, the load request failed.
              if (error != null || ad == null)
              {
                  Debug.LogError("interstitial ad failed to load an ad " +
                                 "with error : " + error);
                  return;
              }

              Debug.Log("Interstitial ad loaded with response : "
                        + ad.GetResponseInfo());

              _interstitialAd = ad;
          });
  }

Показывать рекламное объявление

Чтобы показать загруженную полноэкранную рекламу, вызовите метод Show() экземпляра InterstitialAd . Реклама может быть показана один раз за загрузку. Используйте метод CanShowAd() , чтобы проверить готовность рекламы к показу.

/// <summary>
/// Shows the interstitial ad.
/// </summary>
public void ShowInterstitialAd()
{
    if (_interstitialAd != null && _interstitialAd.CanShowAd())
    {
        Debug.Log("Showing interstitial ad.");
        _interstitialAd.Show();
    }
    else
    {
        Debug.LogError("Interstitial ad is not ready yet.");
    }
}

Слушайте события межстраничной рекламы

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

private void RegisterEventHandlers(InterstitialAd interstitialAd)
{
    // Raised when the ad is estimated to have earned money.
    interstitialAd.OnAdPaid += (AdValue adValue) =>
    {
        Debug.Log(String.Format("Interstitial ad paid {0} {1}.",
            adValue.Value,
            adValue.CurrencyCode));
    };
    // Raised when an impression is recorded for an ad.
    interstitialAd.OnAdImpressionRecorded += () =>
    {
        Debug.Log("Interstitial ad recorded an impression.");
    };
    // Raised when a click is recorded for an ad.
    interstitialAd.OnAdClicked += () =>
    {
        Debug.Log("Interstitial ad was clicked.");
    };
    // Raised when an ad opened full screen content.
    interstitialAd.OnAdFullScreenContentOpened += () =>
    {
        Debug.Log("Interstitial ad full screen content opened.");
    };
    // Raised when the ad closed full screen content.
    interstitialAd.OnAdFullScreenContentClosed += () =>
    {
        Debug.Log("Interstitial ad full screen content closed.");
    };
    // Raised when the ad failed to open full screen content.
    interstitialAd.OnAdFullScreenContentFailed += (AdError error) =>
    {
        Debug.LogError("Interstitial ad failed to open full screen content " +
                       "with error : " + error);
    };
}

Уберите промежуточную рекламу

Завершив работу с InterstitialAd , обязательно вызовите метод Destroy() перед тем, как удалить ссылку на него:

_interstitialAd.Destroy();

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

Предварительная загрузка следующей рекламной вставки

Полосатая реклама — это одноразовый объект. Это означает, что после показа полноэкранной рекламы её нельзя использовать повторно. Чтобы запросить ещё одну полноэкранную рекламу, создайте новый объект InterstitialAd .

Чтобы подготовить рекламное объявление к следующему показу, предварительно загрузите его после возникновения события OnAdFullScreenContentClosed или OnAdFullScreenContentFailed .

private void RegisterReloadHandler(InterstitialAd interstitialAd)
{
    // Raised when the ad closed full screen content.
    interstitialAd.OnAdFullScreenContentClosed += ()
    {
        Debug.Log("Interstitial Ad full screen content closed.");

        // Reload the ad so that we can show another as soon as possible.
        LoadInterstitialAd();
    };
    // Raised when the ad failed to open full screen content.
    interstitialAd.OnAdFullScreenContentFailed += (AdError error) =>
    {
        Debug.LogError("Interstitial ad failed to open full screen content " +
                       "with error : " + error);

        // Reload the ad so that we can show another as soon as possible.
        LoadInterstitialAd();
    };
}

Лучшие практики

Определите, подходит ли полноэкранная реклама вашему приложению.
Полосатая реклама лучше всего работает в приложениях с естественными точками перехода. Завершение задачи в приложении, например, публикация изображения или прохождение уровня в игре, создаёт такую точку. Обязательно продумайте, на каких этапах работы приложения лучше всего показывать полноэкранную рекламу и как, скорее всего, отреагирует пользователь.
Приостановите действие при отображении рекламного объявления.
Существует ряд различных типов полноэкранной рекламы, таких как текст, изображение или видео. Важно убедиться, что при отображении полноэкранной рекламы приложение также приостанавливает использование некоторых ресурсов, чтобы реклама могла ими воспользоваться. Например, при вызове полноэкранной рекламы обязательно приостанавливайте воспроизведение звука в приложении. Вы можете возобновить воспроизведение звука в событии OnAdFullScreenContentClosed() , которое может быть вызвано после завершения взаимодействия пользователя с рекламой. Кроме того, рассмотрите возможность временной остановки любых ресурсоёмких вычислительных задач, таких как игровой цикл, во время отображения рекламы. Это гарантирует, что пользователь не столкнётся с медленной или зависшей графикой, а также с подтормаживанием видео.
Не перегружайте пользователя рекламой.
Хотя увеличение частоты показа полноэкранной рекламы в вашем приложении может показаться отличным способом увеличить доход, это также может ухудшить пользовательский опыт и снизить CTR. Убедитесь, что пользователи не будут отвлекаться так часто, чтобы не потерять возможность пользоваться вашим приложением.

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

* Пример использования