インタースティシャル広告は、アプリのインターフェースを覆うようにフルスクリーンで表示される広告です。これらの広告は、アクティビティの切り替え時やゲームのレベルの合間など、アプリの自然な切り替えポイントで表示します。アプリにインタースティシャル広告が表示された場合、ユーザーは広告をタップしてリンク先に移動するか、広告を閉じてアプリに戻るかを選択できます。 事例紹介をご覧ください。
このガイドでは、Android アプリにインタースティシャル広告を組み込む方法を説明します。
前提条件
必ずテスト広告でテストする
アプリの開発とテストでは、配信中の実際の広告ではなく、必ずテスト広告を使用してください。テスト広告を使用しない場合、Google はアカウントを停止する可能性があります。
テスト広告を読み込むには、次に示す Android インタースティシャル向けのテスト専用広告ユニット ID を使う方法が便利です。
ca-app-pub-3940256099942544/1033173712
この広告ユニット ID は、すべてのリクエストに対してテスト広告を返すように特別に設定されています。アプリのコーディング、テスト、デバッグで自由に使うことができます。なお、アプリを公開する前に、必ずテスト用 ID をご自身の広告ユニット ID に置き換えてください。
GMA Next-Gen SDK のテスト広告について詳しくは、テスト広告を有効にするをご覧ください。
広告を読み込む
次の例は、単一の広告を読み込む方法を示しています。
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. } });