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

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

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

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

Настройте GMA Next-Gen SDK .

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

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

Самый простой способ загрузить тестовую рекламу — использовать специальный идентификатор тестового рекламного блока для межстраничной рекламы в Android:

ca-app-pub-3940256099942544/1033173712

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

Подробную информацию о тестовой рекламе в GMA Next-Gen SDK см. в разделе «Включить тестовую рекламу» .

Загрузить рекламу

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

Котлин

// Load ads after you initialize MobileAds.
InterstitialAd.load(
  AdRequest.Builder(adUnitId).build(),
  object : AdLoadCallback<InterstitialAd> {
    override fun onAdLoaded(ad: InterstitialAd) {
      // Interstitial ad loaded.
      interstitialAd = ad
    }

    override fun onAdFailedToLoad(adError: LoadAdError) {
      // Interstitial ad failed to load.
      Log.e(TAG, "Interstitial ad failed to load: ${adError.message}")
      interstitialAd = null
    }
  },
)

Java

// Load ads after you initialize MobileAds.
InterstitialAd.load(
    new AdRequest.Builder(adUnitId).build(),
    new AdLoadCallback<InterstitialAd>() {
      @Override
      public void onAdLoaded(@NonNull InterstitialAd ad) {
        // Interstitial ad loaded.
        interstitialAd = ad;
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError adError) {
        // Interstitial ad failed to load.
        Log.e(TAG, "Interstitial ad failed to load: " + adError.getMessage());
        interstitialAd = null;
      }
    });

При тестировании используйте идентификатор тестового рекламного блока: ca-app-pub-3940256099942544/1033173712 .

Показать рекламу

Для показа межстраничной рекламы используйте метод show .

Котлин

private fun showAd(interstitialAd: InterstitialAd, activity: Activity) {
  // Show the ad.
  interstitialAd.show(activity)
}

Java

private void showAd(InterstitialAd interstitialAd, Activity activity) {
  // Show the ad.
  interstitialAd.show(activity);
}

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

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

Котлин

// Listen for ad events.
val ad = interstitialAd
if (ad == null) {
  Log.e(TAG, "Interstitial ad is not ready yet.")
  return
}

ad.adEventCallback =
  object : InterstitialAdEventCallback {
    override fun onAdShowedFullScreenContent() {
      // Interstitial ad did show.
    }

    override fun onAdDismissedFullScreenContent() {
      // Interstitial ad did dismiss.
      interstitialAd = null
    }

    override fun onAdFailedToShowFullScreenContent(
      fullScreenContentError: FullScreenContentError
    ) {
      // Interstitial ad failed to show.
      Log.e(TAG, "Interstitial ad failed to show: ${fullScreenContentError.message}")
    }

    override fun onAdImpression() {
      // Interstitial ad did record an impression.
    }

    override fun onAdClicked() {
      // Interstitial ad did record a click.
    }
  }

Java

// Listen for ad events.
if (interstitialAd == null) {
  Log.e(TAG, "Interstitial ad is not ready yet.");
  return;
}

interstitialAd.setAdEventCallback(
    new InterstitialAdEventCallback() {
      @Override
      public void onAdShowedFullScreenContent() {
        // Interstitial ad did show.
      }

      @Override
      public void onAdDismissedFullScreenContent() {
        // Interstitial ad did dismiss.
        interstitialAd = null;
      }

      @Override
      public void onAdFailedToShowFullScreenContent(
          @NonNull FullScreenContentError fullScreenContentError) {
        // Interstitial ad failed to show.
        Log.e(TAG, "Interstitial ad failed to show: " + fullScreenContentError.getMessage());
      }

      @Override
      public void onAdImpression() {
        // Interstitial ad did record an impression.
      }

      @Override
      public void onAdClicked() {
        // Interstitial ad did record a click.
      }
    });