バナー広告

Android Studio スタートガイドでは、SDK をデプロイしてテストバナー広告を表示する方法を説明しました。 このガイドでは、バナー広告で使用できる、より高度なカスタマイズについて説明します。

バナー広告のこのようなカスタマイズの実装を参照するには、Android API Demo アプリをダウンロードしてください。

API Demo のダウンロード

次の広告フォーマットがサポートされています。

サイズ(幅×高さ) 説明 端末 AdSize の定数値
320x50 標準バナー スマートフォンとタブレット BANNER
320x100 バナー(大) スマートフォンとタブレット LARGE_BANNER
300x250 IAB レクタングル(中) スマートフォンとタブレット MEDIUM_RECTANGLE
468x60 IAB フルサイズ バナー タブレット FULL_BANNER
728x90 IAB ビッグバナー タブレット LEADERBOARD
画面の幅×32、50 または 90 スマートバナー スマートフォンとタブレット SMART_BANNER

SDK は、リクエストする AdView がインスタンス化された際のサイズをリクエストします。 端末の画面に広告を表示する十分なスペースがない場合は、何も表示されません。

スマートバナー

スマートバナーは、どの端末で画面をどの向きにしていても、あらゆる画面サイズで画面の横幅いっぱいに広告を表示できる広告ユニットです。スマートバナーは、さまざまな端末で細分化が進む画面サイズへの対応をサポートするもので、そのときの画面の向きで画面の横幅を「スマート」に検出し、そのサイズに合わせて広告を表示できます。

スマートバナーでは、以下の 3 種類の広告の高さ(密度に依存しないピクセル数 [dp])が実装されています。

広告の高さ 画面の高さ
32 dp ≤ 400 dp
50 dp > 400 dp、≤ 720 dp
90 dp > 720 dp

スマートフォンなど、一部の端末については、端末の高さが向きによって異なることがあります。 一般的には、スマートフォンに表示されるスマートバナー広告の場合、縦向きが全幅×50 dp、横向きが全幅×32 dp となります。タブレットではどちらの向きでも全幅×90 dp です。

イメージ広告に、割り当てられたスペース全体を占めるほどの大きさがない場合、画像が中央に配置され、両側のスペースが埋められます。

スマートバナーを使用するには、以下のように広告サイズに定数 SMART_BANNER を指定する必要があります。

AdView adView = new AdView(this);
adView.setAdSize(AdSize.SMART_BANNER);

Android API Demo アプリでのスマートバナーの実装については、AdMob バナーサイズのサンプルをご覧ください。

広告のライフサイクル イベント コールバック

AdView.setAdListener()com.google.android.gms.ads.AdListener を拡張)にオブジェクトを渡すことで、リクエストの失敗や「クリックスルー」といった広告ライフサイクル イベントを追跡することもできます。

public abstract class AdListener {
  public void onAdLoaded();
  public void onAdFailedToLoad(int errorCode);
  public void onAdOpened();
  public void onAdClosed();
  public void onAdLeftApplication();
}

AdListener を拡張するクラスは別途定義できますが、AdListener オブジェクトをインラインで埋め込むこともできます。

adView.setAdListener(new AdListener() {
  @Override
  public void onAdOpened() {
    // Save app state before going to the ad overlay.
  }
});

AdListener は、広告のライフサイクル イベントのすべてに対し、デフォルトの空の実装を提供します。必要な操作は、実装する広告イベントのオーバーライドのみです。

public void onAdLoaded()
広告が受信された場合に呼び出されます。
public void onAdFailedToLoad(int errorCode)

広告リクエストが失敗した場合に呼び出されます。エラーコードは通常、次のいずれかになります。

  • AdRequest.ERROR_CODE_INTERNAL_ERROR
  • AdRequest.ERROR_CODE_INVALID_REQUEST
  • AdRequest.ERROR_CODE_NETWORK_ERROR
  • AdRequest.ERROR_CODE_NO_FILL
public void onAdOpened()

広告で、画面全体を覆うオーバーレイが開かれた場合に呼び出されます。

public void onAdClosed()

ユーザーが広告をクリックした後で、アプリに戻ろうとしたときに呼び出されます。

public void onAdLeftApplication()

広告がアプリから移動する場合(ブラウザに移動する場合など)に呼び出されます。

Android API Demo アプリでの広告ライフサイクル イベント コールバックの実装については、AdMob 広告リスナーのサンプルをご覧ください。

次のステップ

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