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

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

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

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

Предпосылки

Создать межстраничное объявление

Первым шагом к отображению межстраничного объявления является создание объекта InterstitialAd в скрипте, прикрепленном к GameObject .

using GoogleMobileAds.Api;
...

private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
}

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

  • adUnitId — идентификатор рекламного блока AdMob, из которого InterstitialAd должен загружать рекламу.

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

Всегда тестируйте тестовые объявления

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

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

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

После создания экземпляра InterstitialAd следующим шагом будет загрузка рекламы. Это делается с помощью loadAd() в классе InterstitialAd . Он принимает аргумент AdRequest , который содержит информацию о времени выполнения (например, информацию о таргетинге) для одного запроса объявления.

Вот пример, который показывает, как загрузить рекламу:

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

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

Межстраничная реклама должна отображаться во время естественных пауз в работе приложения. Хороший пример — между уровнями игры или после того, как пользователь выполнил задачу. Чтобы показать межстраничное объявление, используйте метод isLoaded() , чтобы убедиться, что оно загрузилось, а затем вызовите show() .

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

private void GameOver()
{
  if (this.interstitial.IsLoaded()) {
    this.interstitial.Show();
  }
}

Рекламные события

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

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

     // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);

    // Called when an ad request has successfully loaded.
    this.interstitial.OnAdLoaded += HandleOnAdLoaded;
    // Called when an ad request failed to load.
    this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
    // Called when an ad is shown.
    this.interstitial.OnAdOpening += HandleOnAdOpening;
    // Called when the ad is closed.
    this.interstitial.OnAdClosed += HandleOnAdClosed;

    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

public void HandleOnAdLoaded(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdLoaded event received");
}

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    MonoBehaviour.print("HandleFailedToReceiveAd event received with message: "
                        + args.Message);
}

public void HandleOnAdOpening(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdOpening event received");
}

public void HandleOnAdClosed(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdClosed event received");
}

Событие OnAdFailedToLoad содержит специальные аргументы события. Он передает экземпляр HandleAdFailedToLoadEventArgs с Message , описывающим ошибку:

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    print("Interstitial failed to load: " + args.Message);
    // Handle the ad failed to load event.
}
Рекламное событие Описание
OnAdLoaded Событие OnAdLoaded выполняется после завершения загрузки объявления.
OnAdFailedToLoad Событие OnAdFailedToLoad вызывается, когда объявление не загружается. Параметр Message описывает тип произошедшей ошибки.
OnAdOpening Этот метод вызывается, когда реклама отображается на экране устройства.
OnAdClosed Этот метод вызывается, когда межстраничное объявление закрывается из-за того, что пользователь нажимает значок закрытия или нажимает кнопку «Назад». Если ваше приложение приостановило вывод звука или игровой цикл, это отличное место, чтобы возобновить его.

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

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

interstitial.Destroy();

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

Некоторые рекомендации

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

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

Образцы

Истории успеха