インタースティシャル広告は、ホストアプリのインターフェース上に全画面表示される広告です。通常は、次のアクティビティに移行する前や、ゲームレベルをクリアした後の合間など、アプリの操作中に画面が切り替わるタイミングで表示されます。アプリにインタースティシャル広告が表示されると、ユーザーは広告をタップしてリンク先 URL に移動するか、広告を閉じてアプリに戻るかを選択することになります。
このガイドでは、Android アプリにインタースティシャル広告を組み込む方法を説明します。
前提条件
- Google Mobile Ads SDK 19.7.0 以降。
- スタートガイドの手順を完了していること
必ずテスト広告でテストする
アプリの開発とテストでは必ずテスト広告を使用し、配信中の実際の広告は使用しないでください。実際の広告を使用すると、アカウントが停止される可能性があります。
テスト広告を読み込む際は、次に示す Android インタースティシャル向けのテスト専用広告ユニット ID を使うと便利です。
/21775744923/example/interstitial
この ID は、すべてのリクエストに対してテスト広告を返す特別な ID で、アプリのコーディング、テスト、デバッグで自由に使うことができます。なお、アプリを公開する前に、必ずテスト用 ID をご自身の広告ユニット ID に置き換えてください。
Google Mobile Ads SDK のテスト広告の仕組みについて詳しくは、テスト広告をご覧ください。
広告を読み込む
インタースティシャル広告を読み込むには、AdManagerInterstitialAd
の静的 load()
メソッドを呼び出して、AdManagerInterstitialAdLoadCallback
を渡すと、読み込まれた広告または発生する可能性があるすべてのエラーを受け取ることができます。他の形式の読み込みコールバックと同様に、AdManagerInterstitialAdLoadCallback
では LoadAdError
を利用して、より再現性の高いエラーの詳細を提供します。
Java
AdManagerInterstitialAd.load(
this,
AD_UNIT_ID,
new AdManagerAdRequest.Builder().build(),
new AdManagerInterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull AdManagerInterstitialAd interstitialAd) {
Log.d(TAG, "Ad was loaded.");
MyActivity.this.interstitialAd = interstitialAd;
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
Log.d(TAG, loadAdError.getMessage());
interstitialAd = null;
}
});
Kotlin
AdManagerInterstitialAd.load(
this,
AD_UNIT_ID,
AdManagerAdRequest.Builder().build(),
object : AdManagerInterstitialAdLoadCallback() {
override fun onAdLoaded(interstitialAd: AdManagerInterstitialAd) {
Log.d(TAG, "Ad was loaded.")
this@MyActivity.interstitialAd = interstitialAd
}
override fun onAdFailedToLoad(adError: LoadAdError) {
Log.d(TAG, adError.message)
interstitialAd = null
}
},
)
FullScreenContentCallback を設定する
FullScreenContentCallback
は、InterstitialAd
の表示に関連するイベントを処理します。InterstitialAd
を表示する前に、コールバックを以下のように設定してください。
Java
interstitialAd.setFullScreenContentCallback(
new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
Log.d(TAG, "The ad was dismissed.");
// Make sure to set your reference to null so you don't
// show it a second time.
MyActivity.this.interstitialAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when fullscreen content failed to show.
Log.d(TAG, "The ad failed to show.");
// Make sure to set your reference to null so you don't
// show it a second time.
MyActivity.this.interstitialAd = null;
}
@Override
public void onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
Log.d(TAG, "The ad was shown.");
}
@Override
public void onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "The ad recorded an impression.");
}
@Override
public void onAdClicked() {
// Called when ad is clicked.
Log.d(TAG, "The ad was clicked.");
}
});
Kotlin
interstitialAd?.fullScreenContentCallback =
object : FullScreenContentCallback() {
override fun onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
Log.d(TAG, "Ad was dismissed.")
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
interstitialAd = null
}
override fun onAdFailedToShowFullScreenContent(adError: AdError) {
// Called when fullscreen content failed to show.
Log.d(TAG, "Ad failed to show.")
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
interstitialAd = null
}
override fun onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
Log.d(TAG, "Ad showed fullscreen content.")
}
override fun onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.")
}
override fun onAdClicked() {
// Called when ad is clicked.
Log.d(TAG, "Ad was clicked.")
}
}
広告を表示する
インタースティシャル広告は、ゲームのレベルが切り替わる合間やタスクが完了した直後など、アプリの実行の流れが自然に一時停止するタイミングで表示される必要があります。インタースティシャルを表示するには、show()
メソッドを使用します。
Java
if (interstitialAd != null) {
interstitialAd.show(this);
} else {
Log.d(TAG, "The interstitial ad is still loading.");
}
Kotlin
interstitialAd?.show(this)
ベスト プラクティス
- インタースティシャル広告が自分のアプリに適しているかどうかをよく見極めましょう。
- インタースティシャル広告は、自然な移行ポイント(画面の切り替わりなど)があるアプリに適しています。 画像の共有やゲームレベルのクリアなど、アプリ内で特定のタスクが完了したタイミングがこうした切り替わりポイントになります。アプリのワークフローのどのタイミングでインタースティシャル広告を表示するか、それに対してユーザーがどのように反応しそうかをよく検討してください。
- インタースティシャル広告を表示する際には必ずアクションを一時停止しましょう。
- インタースティシャル広告には、テキスト、イメージ、動画など、さまざまな種類があります。アプリにインタースティシャル広告を表示する際は、一部のリソースの使用を停止して、広告でそのリソースを利用できるようにすることも重要です。たとえばインタースティシャル広告を呼び出して表示する際は、アプリの音声出力を一時停止します。
- 十分な読み込み時間を確保しましょう。
- インタースティシャル広告を適切なタイミングで表示することも大事ですが、それと同様に読み込みの待ち時間を短くすることも重要です。
show()
を呼び出す前にload()
を呼び出して広告の読み込みを事前に完了しておくと、表示の段階で待ち時間が発生しません。 - 過度に広告を表示しないよう注意しましょう。
- インタースティシャル広告の表示頻度を上げると増収につながる可能性がありますが、ユーザーの利便性が損なわれてクリック率が低下する可能性もあります。ユーザーがアプリを楽しめなくなるため、過度に頻繁に広告を表示するのは避けてください。
GitHub の例
次のステップ
- 広告のターゲット設定について確認します。
- ユーザーのプライバシーについて詳細を確認します。
- SDK の初期化と広告読み込みの最適化(ベータ版)の内容を確認します。