インタースティシャル広告は、アプリのインターフェースを覆うフルスクリーン広告です。これらの広告は、アクティビティ間やゲームレベルの合間など、アプリの自然な画面切り替えポイントで表示します。
アプリにインタースティシャル広告が表示されると、ユーザーは広告をタップして続行するか、広告を閉じてアプリに戻るかを選択できます。
このガイドでは、Android アプリにインタースティシャル広告を組み込む方法を説明します。
始める前に
先に進む前に、次のことを実施してください。
- GMA Next-Gen SDK を設定します。
- テスト用のインタースティシャル広告ユニット ID
ca-app-pub-3940256099942544/1033173712を使用します。- アプリの開発とテストでは、配信中の実際の広告ではなく、必ずテスト広告を使用してください。テスト広告ユニット ID を使用しない場合、アカウントが停止される可能性があります。
- アプリを公開する前に、この ID を広告ユニット ID に置き換えてください。
- GMA Next-Gen SDK のテスト広告について詳しくは、テスト広告を有効にするをご覧ください。
広告を読み込む
次の例では、1 つの広告を読み込んでいます。
Kotlin
// 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; } });
テストの際は、テスト広告ユニット ID ca-app-pub-3940256099942544/1033173712 を使用します。
広告を表示する
インタースティシャル広告を表示するには、show メソッドを呼び出します。
次の例では、広告を表示しています。
Kotlin
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); }
広告イベントをリッスンする
広告を表示する前に、広告のライフサイクル イベントをリッスンします。次の例では、広告イベントのコールバックを登録しています。
Kotlin
// 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. } });