バナー広告

バナー広告は、アプリのレイアウトの一部を占める長方形の広告です。。 ユーザーがアプリを操作している間、画面に表示され続けます。 ユーザーがスクロールすると、画面の上部または下部に重ねて表示したり、コンテンツにインラインで移動したりできます。バナー 一定期間の経過後に広告を自動更新するバナー広告の概要をご覧ください。 をご覧ください。

このガイドでは、アンカー アダプティブ バナーの使い方を説明します。 広告 「新規顧客の獲得」目標を使ってデバイスごとに 広告サイズを最適化することで 広告の幅を指定します。

アンカー アダプティブ バナー広告は、通常の広告ではなく固定アスペクト比の広告で 固定サイズの広告。アスペクト比は業界標準である 320x50 と同様です。1 回 利用可能な全幅を指定すると、最適な幅の広告が 指定します。最適な高さは、リクエスト間で変更されず、 広告が表示されている間、周囲のビューを動かす必要はない 更新されます

前提条件

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

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

テスト広告を読み込むには、専用のテスト広告ユニット ID を使用すると、 Android のバナー:

ca-app-pub-3940256099942544/9214589741

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

Mobile Ads SDK のテスト広告の仕組みについて詳しくは、テスト広告の仕組みに関するページ 広告

AdView をレイアウトに追加する

バナーを表示するための最初のステップは、AdView を配置することです。 (表示させたい Activity または Fragment のレイアウト) 。

Java

private AdSize getAdSize() {
  // Determine the screen width (less decorations) to use for the ad width.
  Display display = getWindowManager().getDefaultDisplay();
  DisplayMetrics outMetrics = new DisplayMetrics();
  display.getMetrics(outMetrics);

  float density = outMetrics.density;

  float adWidthPixels = adContainerView.getWidth();

  // If the ad hasn't been laid out, default to the full screen width.
  if (adWidthPixels == 0) {
    adWidthPixels = outMetrics.widthPixels;
  }

  int adWidth = (int) (adWidthPixels / density);
  return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth);
}

private void loadBanner() {
  
  // Create a new ad view.
  AdView adView = new AdView(this);
  adView.setAdSizes(getAdSize());
  adView.setAdUnitId("ca-app-pub-3940256099942544/9214589741");

  // Replace ad container with new ad view.
  adContainerView.removeAllViews();
  adContainerView.addView(adView);

  // Start loading the ad in the background.
  AdRequest adRequest = new AdRequest.Builder().build();
  adView.loadAd(adRequest);
}

Kotlin


// Determine the screen width (less decorations) to use for the ad width.
// If the ad hasn't been laid out, default to the full screen width.
private val adSize: AdSize
  get() {
    val display = windowManager.defaultDisplay
    val outMetrics = DisplayMetrics()
    display.getMetrics(outMetrics)

    val density = outMetrics.density

    var adWidthPixels = binding.adViewContainer.width.toFloat()
    if (adWidthPixels == 0f) {
      adWidthPixels = outMetrics.widthPixels.toFloat()
    }

    val adWidth = (adWidthPixels / density).toInt()
    return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth)
  }

private fun loadBanner() {
  
  // Create a new ad view.
  val adView = AdView(this)
  adView.adSizes = adSize
  adView.adUnitId = "ca-app-pub-3940256099942544/9214589741"

  // Create an ad request.
  val adRequest = AdRequest.Builder().build()

  // Start loading the ad in the background.
  adView.loadAd(adRequest)
}

広告を読み込む

AdView を実装したら 次のステップとして 広告を読み込むこれは loadAd() で行うことができます。 メソッド(AdView クラスの)AdRequest を受け取ります。 パラメータ: このパラメータは、ターゲティング情報、 1 つの広告リクエストに対して

次の例は、onCreate() Activity:

Java

private void loadBanner() {
  // Create a new ad view.
  adView = new AdView(this);
  adView.setAdUnitId(AD_UNIT);
  adView.setAdSize(getAdSize());
  
  // Replace ad container with new ad view.
  adContainerView.removeAllViews();
  adContainerView.addView(adView);

  // Start loading the ad in the background.
  AdRequest adRequest = new AdRequest.Builder().build();
  adView.loadAd(adRequest);
}

Kotlin

private fun loadBanner() {
  // This is an ad unit ID for a test ad. Replace with your own banner ad unit ID.
  adView.adUnitId = "/6499/example/banner"
  adView.setAdSize(adSize)
  
  // Create an ad request.
  val adRequest = AdRequest.Builder().build()

  // Start loading the ad in the background.
  adView.loadAd(adRequest)
}

広告の読み込みに失敗した場合でも、 広告ユニットの更新を設定していればGoogle Mobile Ads SDK は AdMob アカウントで指定した更新頻度が ウェブ インターフェースで実行します。更新を有効にしていない場合は、新しい リクエストできます。

これで、これで、アプリにバナー広告を表示できるようになりました。

広告イベント

広告のライフサイクルでは、読み込み、 広告インプレッションとクリック、広告の開始イベントと終了イベント。おすすめの方法 バナーを読み込む前にコールバックを設定します。

Java

AdView.setAdListener(new AdListener() {
    @Override
    public void onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

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

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

    @Override
    public void onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

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

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

Kotlin

AdView.adListener = object: AdListener() {
    override fun onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    override fun onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    override fun onAdFailedToLoad(adError : LoadAdError) {
      // Code to be executed when an ad request fails.
    }

    override fun onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    override fun onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    override fun onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
}

オーバーライド可能な各メソッドは、 AdListener 広告のライフサイクルで発生するイベントに対応します。

オーバーライド可能なメソッド
onAdClicked() onAdClicked() メソッドは広告のクリックが記録されると呼び出されます。
onAdClosed() onAdClosed() メソッドは、ユーザーが広告を見た後にアプリに戻ったときに呼び出されます。 指定します。一時停止されたアクティビティを再開したり、 やり取りに備えるために必要なその他の作業を行う 詳しくは、AdMob AdListener の例をご覧ください。 Android API デモアプリ。
onAdFailedToLoad() onAdFailedToLoad() メソッドはパラメータを含む唯一のメソッドです。タイプの error パラメータ LoadAdError は、発生したエラーを表します。詳しくは 詳しくは、広告読み込みエラーのデバッグ ドキュメントをご覧ください
onAdImpression() onAdImpression() メソッドは広告のインプレッションが記録されたときに呼び出されます。
onAdLoaded() onAdLoaded() メソッドは広告の読み込みが完了すると実行されます。会議を遅らせる場合は AdView を追加する アクティビティまたはフラグメントにコードを渡して、広告が読み込まれることが できます。
onAdOpened() onAdOpened() メソッドは、画面を覆うオーバーレイを広告で開いたときに呼び出されます。

動画広告のハードウェア アクセラレーション

バナー広告に動画広告が適切に表示されるようにするには、ハードウェアが Accelerationは 有効にする必要があります。

ハードウェア アクセラレーションはデフォルトで有効になっていますが、アプリによっては無効にすることもできます できます。お客様のアプリに該当する場合は、ハードウェア アクセラレーションを有効にすることをおすすめします。 広告を使用する Activity クラス。

ハードウェア アクセラレーションを有効にする

ハードウェア アクセラレーションをオンにしてアプリが正しく動作しない場合 個々のアクティビティに対しても制御できます。Google Cloud コンソールで ハードウェア アクセラレーションを無効にする場合は、android:hardwareAccelerated 属性の <application> および <activity> AndroidManifest.xml 内の要素。次の例では、ハードウェア サービス 1 つのアクティビティでは無効にします。

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

ハードウェア アクセラレーションに関するページ ガイド ハードウェア アクセラレーションを制御するオプションについて説明します。注: アクティビティが原因で、個々の広告ビューをハードウェア アクセラレーションで有効にすることはできません。 無効になっているため、アクティビティ自体でハードウェア アクセラレーションを有効にする必要があります。

参考情報

GitHub の例

  • アンカー アダプティブ バナー広告の例: Java | Kotlin

次のステップ

折りたたみ可能バナー

折りたたみ可能バナー広告は、最初は大きなサイズのバナー広告として表示される 広告を小さなサイズに折りたたむボタンがある オーバーレイ使用をご検討ください パフォーマンスをさらに最適化できます詳しくは、折りたたみ可能バナー広告をご覧ください。

インライン アダプティブ バナー

インライン アダプティブ バナーは、アンカー アダプティブ バナーより大きく縦長のバナーとなります。 。高さは可変で、デバイスの画面と同じ高さにできます。 インライン アダプティブ バナーは、アンカー アダプティブ バナー広告よりも推奨されます。 スクロール可能なコンテンツにバナー広告を配置するアプリインライン アダプティブ バナーをご覧ください。 バナー 表示されます。

他のトピックを見る