インタースティシャル広告

インタースティシャル広告は、ホストアプリのインターフェースを覆うようにフルスクリーンで表示される広告です。 通常、アプリの操作中に画面が自然に切り替わるタイミングで表示されます。 たとえば、ゲームのレベルが切り替わる合間や、次のレベルの一時停止時などにおすすめします。 アプリにインタースティシャル広告が表示されると、ユーザーは 広告をクリックしてリンク先に移動するか、広告を閉じてアプリに戻ります。 事例紹介をご覧ください。

このガイドでは、インタースティシャル広告を Android デバイスに統合する方法について説明します。 。

前提条件

必ずテスト広告でテストする

アプリを作成、テストする際は、テスト広告ではなく、 配信します。実際の広告を使用すると、アカウントが停止される可能性があります。

テスト広告を読み込むには、専用のテスト広告ユニット ID を使用すると、 Android インタースティシャル:

ca-app-pub-3940256099942544/1033173712

すべてのリクエストに対してテスト広告を返すように特別に構成されており、 独自のアプリでコーディング、テスト、デバッグの際に自由に使用できます。作成したばかりの アプリを公開する前に、必ずご自身の広告ユニット ID に置き換えてください。

Mobile Ads SDK のテスト広告の仕組みについて詳しくは、 テスト広告

広告を読み込む

インタースティシャル広告を読み込むには、InterstitialAd を呼び出します。 静的 load() メソッドを呼び出し、 InterstitialAdLoadCallback: 読み込まれた エラーが表示されます。他の形式の読み込みコールバックと同様に、 InterstitialAdLoadCallback の活用 LoadAdError: より忠実度の高いエラーの詳細を提供します。

Java

import com.google.android.gms.ads.interstitial.InterstitialAd;
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;

public class MainActivity extends Activity {

  private InterstitialAd mInterstitialAd;
  private static final String TAG = "MainActivity";

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    AdRequest adRequest = new AdRequest.Builder().build();

    InterstitialAd.load(this,"ca-app-pub-3940256099942544/1033173712", adRequest,
        new InterstitialAdLoadCallback() {
      @Override
      public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
        // The mInterstitialAd reference will be null until
        // an ad is loaded.
        mInterstitialAd = interstitialAd;
        Log.i(TAG, "onAdLoaded");
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        // Handle the error
        Log.d(TAG, loadAdError.toString());
        mInterstitialAd = null;
      }
    });
  }
}

Kotlin

import com.google.android.gms.ads.interstitial.InterstitialAd;
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;

class MainActivity : AppCompatActivity() {

  private var mInterstitialAd: InterstitialAd? = null
  private final val TAG = "MainActivity"

    override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_main)

      var adRequest = AdRequest.Builder().build()

      InterstitialAd.load(this,"ca-app-pub-3940256099942544/1033173712", adRequest, object : InterstitialAdLoadCallback() {
        override fun onAdFailedToLoad(adError: LoadAdError) {
          Log.d(TAG, adError?.toString())
          mInterstitialAd = null
        }

        override fun onAdLoaded(interstitialAd: InterstitialAd) {
          Log.d(TAG, 'Ad was loaded.')
          mInterstitialAd = interstitialAd
        }
      })
    }
}

FullScreenContentCallback を設定する

FullScreenContentCallback は、 InterstitialAdInterstitialAd を表示する前に、必ず 次のコールバックを使用します。

Java

mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
  @Override
  public void onAdClicked() {
    // Called when a click is recorded for an ad.
    Log.d(TAG, "Ad was clicked.");
  }

  @Override
  public void onAdDismissedFullScreenContent() {
    // Called when ad is dismissed.
    // Set the ad reference to null so you don't show the ad a second time.
    Log.d(TAG, "Ad dismissed fullscreen content.");
    mInterstitialAd = null;
  }

  @Override
  public void onAdFailedToShowFullScreenContent(AdError adError) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.");
    mInterstitialAd = null;
  }

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

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

Kotlin

mInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
  override fun onAdClicked() {
    // Called when a click is recorded for an ad.
    Log.d(TAG, "Ad was clicked.")
  }

  override fun onAdDismissedFullScreenContent() {
    // Called when ad is dismissed.
    Log.d(TAG, "Ad dismissed fullscreen content.")
    mInterstitialAd = null
  }

  override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.")
    mInterstitialAd = null
  }

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

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

広告を表示する

インタースティシャル広告は、アプリの操作が一時停止する自然なタイミングで表示されます。 ゲームのレベルが切り替わる合間やユーザーがタスクを完了した後などが良い例です。 インタースティシャルを表示するには、 show() メソッドを使用します。

Java

if (mInterstitialAd != null) {
  mInterstitialAd.show(MyActivity.this);
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.");
}

Kotlin

if (mInterstitialAd != null) {
  mInterstitialAd?.show(this)
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.")
}

おすすめの方法

インタースティシャル広告がアプリに適した広告タイプかどうかを検討します。
インタースティシャル広告は、画面の切り替わりがあるアプリで最適に機能します。 画像の共有やアプリの完了など、アプリ内でのタスクの終了を ゲームレベルでは、そのようなポイントが生まれます。学習計画で注力すべきポイントを インタースティシャル広告を表示する方法と、ユーザーが 対応できます。
インタースティシャル広告を表示する際はアクションを一時停止してください。
インタースティシャル広告にはさまざまなタイプ(テキスト、イメージ、 使用できます。アプリの画面にコードを表示する際は、 リソースの使用を中断して広告が 活用してください。たとえば、スペースを表示するための呼び出しを行うと、 アプリからの音声出力は、必ず一時停止してください。
読み込み時間は十分に確保してください。
インタースティシャル広告は一定の間隔で表示することが ユーザーに都合のよい時間を提供できるよう、 読み込みが完了するのを待ちます。次の呼び出しによって広告を事前に読み込む 通話の発信前に load() show() を使用すると、アプリのインタースティシャル広告をページ全体に配置できます。 準備を整えることができます。
大量の広告をユーザーに表示することは避けてください。
アプリでインタースティシャル広告の表示頻度を増やすと、 ユーザーエクスペリエンスの低下にも つながります クリック率の低下につながりますユーザーがそれほど頻繁にアクセスしないようにします。 中断されることがなくなります。

ソースコード

GitHub の例

  • インタースティシャル広告の例: Java | Kotlin

成功事例

次のステップ