広告イベント

バナー広告やインタースティシャル広告に関連する一連の動作の中には、読み込む、開く、閉じるなど、重要度の高いさまざまなイベントがあります。Google Mobile Ads SDK では、AdListener クラスを使用してこのようなイベントをリスニングできます。 このガイドでは、バナー広告やインタースティシャル広告で AdListener を使用する方法と、利用可能な各メソッドの一般的な使用例について説明します。

バナー広告イベントの動作を確認するには、Android API Demo アプリをダウンロードしてください。

API Demo のダウンロード

事前準備

Android Studio スタートガイドを完了していること。

バナー広告で AdListener を使用する

AdListenerAdView オブジェクトを組み合わせて使用するには、setAdListener() メソッドを呼び出します。匿名内部クラスを使用する場合の例は以下のとおりです。

広告リスナーを設定する

mAdView.setAdListener(new AdListener() {
    @Override
    public void onAdLoaded() {
        // Code to be executed when an ad finishes loading.
    }

    @Override
    public void onAdFailedToLoad(int errorCode) {
        // Code to be executed when an ad request fails.
    }

    @Override
    public void onAdOpened() {
        // Code to be executed when an ad opens an overlay that
        // covers the screen.
    }

    @Override
    public void onAdLeftApplication() {
        // Code to be executed when the user has left the app.
    }

    @Override
    public void onAdClosed() {
        // Code to be executed when when the user is about to return
        // to the app after tapping on an ad.
    }
});

AdListener でオーバーライドできるメソッドは、それぞれ広告の各イベントに対応しています。

onAdLoaded()

onAdLoaded() メソッドは、広告の読み込みが完了したときに実行されます。たとえば、広告の読み込みが確実に完了するまで、アクティビティやフラグメントへの AdView の追加を遅らせる場合は、このメソッドを使用します。サードパーティの分析パッケージを使用してインプレッションをトラッキングしている場合は、インプレッションを記録するための呼び出しを設置することもできます。

onAdFailedToLoad()

onAdFailedToLoad() メソッドは、パラメータを含む唯一のメソッドです。errorCode パラメータは、発生したエラーの種類を示します。値は、AdRequest クラスで定数値として定義します。

ERROR_CODE_INTERNAL_ERROR
広告サーバーから無効な応答を受け取った場合などに生じる内部エラーです。
ERROR_CODE_INVALID_REQUEST
広告ユニット ID が不適切だった場合など、広告リクエストが無効だったときに生じるエラーです。
ERROR_CODE_NETWORK_ERROR
ネットワーク接続の問題によって広告リクエストが失敗したときに生じるエラーです。
ERROR_CODE_NO_FILL
広告リクエストは成功したものの、広告枠の不足が原因で広告が返されなかったときに生じるエラーです。

onAdOpened()

バナー広告の場合、このメソッドは、ユーザーが広告をタップしたときに呼び出されます。 分析パッケージを使用してクリックスルーをトラッキングしている場合は、ここで記録すると効果的です。

onAdLeftApplication()

このメソッドは onAdOpened() の後(リンク先 URL を処理するために Android によって開始されたアクティビティが作成されたタイミング)に呼び出されます。

onAdClosed()

ユーザーが広告のリンク先 URL にアクセスした後、アプリに戻ってきたときに呼び出されるメソッドです。 このメソッドを使用すると、一時停止中のアクティビティを再開したり、操作を行うために必要なその他の作業を実行したりできます。

Android API Demo アプリでの AdListener メソッドの実装については、AdMob 広告リスナーのサンプルをご覧ください。

インタースティシャル広告で AdListener を使用する

SDK の InterstitialAd クラスでは、バナー広告と同じ setAdListener() メソッドを使用できます。このメソッドは同じイベントで同じように使用します。このうち以下の 2 つのメソッドについては、いくつか注意点があります。

onAdOpened
バナー広告ではユーザーが広告をタップしたときに呼び出されますが、インタースティシャル広告では広告が端末の画面いっぱいに表示されたときに実行されます。
onAdClosed

ユーザーが「閉じる」アイコンまたは「戻る」ボタンをタップし、インタースティシャル広告が閉じられたときに呼び出されます。

音声出力やゲームループを一時停止するアプリの場合は、ここで再開すると効果的です。 また、複数のインタースティシャル広告を表示する場合は、ここで新しいリクエスト オブジェクトを使用して loadAd() を呼び出し、次のインタースティシャル広告の読み込みを開始できます。

関連情報

各メソッドの詳細については AdListener のクラス リファレンスをご覧ください。

よくある質問

広告ユニットでメディエーションを使用するように設定していますが、AdListener は使用できますか?
はい。メディエーション アダプタは各種イベントの送信に必要になり、これらのイベントはアプリに転送されます。
メソッド呼び出しを作成し、onAdLoaded() メソッド内からインタースティシャル広告を表示することはできますか?
おすすめできる方法ではありません。 インタースティシャル広告は、事前に読み込みを済ませ、ゲーム内でレベルが切り替わるときなど、アプリが自然に一時停止するタイミングに表示するためのものです。 そのため、広告はすぐにではなく、ユーザー側の準備が整うまで待ってから表示することをおすすめします。

フィードバックを送信...