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

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

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

Требования

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

Чтобы загрузить межстраничное объявление, вызовите статический метод load() класса InterstitialAd и передайте ему объект InterstitialAdLoadCallback, чтобы получить загруженное объявление или возможные ошибки. InterstitialAdLoadCallback использует LoadAdError, чтобы предоставлять сведения об ошибках.

Java

InterstitialAd.load(
    this,
    AD_UNIT_ID,
    new AdRequest.Builder().build(),
    new InterstitialAdLoadCallback() {
      @Override
      public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
        Log.d(TAG, "Ad was loaded.");
        MyActivity.this.interstitialAd = interstitialAd;
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        Log.d(TAG, loadAdError.getMessage());
        interstitialAd = null;
      }
    });

Kotlin

InterstitialAd.load(
  this,
  AD_UNIT_ID,
  AdRequest.Builder().build(),
  object : InterstitialAdLoadCallback() {
    override fun onAdLoaded(ad: InterstitialAd) {
      Log.d(TAG, "Ad was loaded.")
      interstitialAd = ad
    }

    override fun onAdFailedToLoad(adError: LoadAdError) {
      Log.d(TAG, adError.message)
      interstitialAd = null
    }
  },
)

Задайте FullScreenContentCallback

FullScreenContentCallback обрабатывает события, связанные с показом InterstitialAd. Прежде чем показывать объявление InterstitialAd, настройте обратный вызов:

Java

interstitialAd.setFullScreenContentCallback(
    new FullScreenContentCallback() {
      @Override
      public void onAdDismissedFullScreenContent() {
        // Called when fullscreen content is dismissed.
        Log.d(TAG, "The ad was dismissed.");
        // Make sure to set your reference to null so you don't
        // show it a second time.
        MyActivity.this.interstitialAd = null;
      }

      @Override
      public void onAdFailedToShowFullScreenContent(AdError adError) {
        // Called when fullscreen content failed to show.
        Log.d(TAG, "The ad failed to show.");
        // Make sure to set your reference to null so you don't
        // show it a second time.
        MyActivity.this.interstitialAd = null;
      }

      @Override
      public void onAdShowedFullScreenContent() {
        // Called when fullscreen content is shown.
        Log.d(TAG, "The ad was shown.");
      }

      @Override
      public void onAdImpression() {
        // Called when an impression is recorded for an ad.
        Log.d(TAG, "The ad recorded an impression.");
      }

      @Override
      public void onAdClicked() {
        // Called when ad is clicked.
        Log.d(TAG, "The ad was clicked.");
      }
    });

Kotlin

interstitialAd?.fullScreenContentCallback =
  object : FullScreenContentCallback() {
    override fun onAdDismissedFullScreenContent() {
      // Called when fullscreen content is dismissed.
      Log.d(TAG, "Ad was dismissed.")
      // Don't forget to set the ad reference to null so you
      // don't show the ad a second time.
      interstitialAd = null
    }

    override fun onAdFailedToShowFullScreenContent(adError: AdError) {
      // Called when fullscreen content failed to show.
      Log.d(TAG, "Ad failed to show.")
      // Don't forget to set the ad reference to null so you
      // don't show the ad a second time.
      interstitialAd = null
    }

    override fun onAdShowedFullScreenContent() {
      // Called when fullscreen content is shown.
      Log.d(TAG, "Ad showed fullscreen content.")
    }

    override fun onAdImpression() {
      // Called when an impression is recorded for an ad.
      Log.d(TAG, "Ad recorded an impression.")
    }

    override fun onAdClicked() {
      // Called when ad is clicked.
      Log.d(TAG, "Ad was clicked.")
    }
  }

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

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

Java

if (interstitialAd != null) {
  interstitialAd.show(this);
} else {
  Log.d(TAG, "The interstitial ad is still loading.");
}

Kotlin

interstitialAd?.show(this)

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

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

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

ca-app-pub-3940256099942544/1033173712

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

Подробнее о тестовых объявлениях Google Mobile Ads SDK (Legacy) рассказывается в статье Как включить тестовые объявления.

Исходный код

Примеры на GitHub

  • Пример межстраничных объявлений: Java | Kotlin

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

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