Межстраничные объявления — это полноэкранные объявления, которые закрывают интерфейс приложения. Вы показываете эти объявления в естественных точках перехода в вашем приложении, например, между действиями или во время пауз в игровых уровнях. Когда приложение показывает межстраничное объявление, ваши пользователи могут либо нажать на объявление и продолжить, либо закрыть объявление и вернуться в приложение. Ознакомьтесь с одним из наших примеров из практики .
В этом руководстве объясняется, как интегрировать межстраничную рекламу в приложение для Android.
Предварительные требования
Всегда проводите тестирование с помощью тестовых объявлений.
При разработке и тестировании приложений обязательно используйте тестовые объявления, а не рабочие, запущенные в производство. Если вы не используете тестовые объявления, 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. } });