バナー広告

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

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

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

前提条件

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

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

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

/21775744923/example/adaptive-banner

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

Mobile Ads SDK のテスト広告の仕組みについて詳しくは、テスト広告をご覧ください。

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

バナーを表示するための最初のステップは、AdManagerAdView を配置することです。 次のように指定します。

Java

// Create a new ad view.
adView = new AdManagerAdView(this);
adView.setAdUnitId(AD_UNIT);
adView.setAdSize(getAdSize());

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

Kotlin

// Create a new ad view.
val adView = AdManagerAdView(this)
adView.adUnitId = AD_UNIT_ID
adView.setAdSize(adSize)
this.adView = adView

// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)

広告を読み込む

アド マネージャー広告ビューを配置したら、次は 広告を読み込むこれは loadAd() で行われます。 メソッド(AdManagerAdView クラスの)AdManagerAdRequest を受け取ります。 パラメータ: このパラメータは、ターゲティング情報、 1 つの広告リクエストに対して

以下の例は、広告の読み込み方法を示しています。

Java

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

Kotlin

// Start loading the ad in the background.
val adRequest = AdManagerAdRequest.Builder().build()
adView.loadAd(adRequest)

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

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

広告イベント

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

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

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

インプレッションの手動カウント

インプレッションの手動カウントは、直接販売と自社のみに対応しています。 クリエイティブを使用するキャンペーンでアド マネージャーで直接 入稿することもできます気にしないで 第三者ネットワークの広告に使用されます詳しくは、カウント方法 インプレッション数とクリック数です

インプレッションを記録するタイミングについて特別な条件がある場合は、インプレッションの信号をアド マネージャーに手動で送信できます。そのためには、 AdManagerAdRequest: 広告を読み込む前の手動インプレッションの場合:

Java

AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
    .setManualImpressionsEnabled(true)
    .build();

Kotlin

val adRequest = AdManagerAdRequest.Builder()
    .setManualImpressionsEnabled(true)
    .build()

広告が正常に返され、画面に表示されていると判断したら、 インプレッションを手動で記録できます

Java

{ ad_view }.recordManualImpression();

Kotlin

AdManagerAdView.recordManualImpression()

アプリ内イベント

アプリイベントを使用すると、アプリコードにメッセージを送信できる広告を作成できます。アプリ はこれらのメッセージに基づいてアクションを実行できます。

アド マネージャー固有のアプリイベントをリッスンするには、AppEventListener を使用します。 これらのイベントは、広告のライフサイクル中に、 onAdLoaded() が呼び出されます。

Java

public interface AppEventListener {
  void onAppEvent(String name, String info);
}

Kotlin

interface AppEventListener {
    fun onAppEvent(name: String, info: String)
}

void onAppEvent(String name, String info) は、アプリイベントが発生すると呼び出されます 。このインターフェースは、アクティビティまたは他の任意の関数によって実装できます。 オブジェクト:

Java

import com.google.android.gms.ads.admanager.*;

public class BannerExample extends Activity implements AppEventListener {
}

Kotlin

import com.google.android.gms.ads.admanager.*

class BannerExample : Activity(), AppEventListener {
}

次に AdManagerAdView に渡されます。

Java

AdManagerAdView.setAppEventListener(this);

Kotlin

AdManagerAdView.appEventListener = this

アプリの背景色を変更する方法の例 色の名前で表示されます:

Java

@Override
public void onAppEvent(String name, String info) {
  if ("color".equals(name)) {
    if ("green".equals(info)) {
      // Set background color to green.
    } else if ("blue".equals(info)) {
      // Set background color to blue.
    } else {
      // Set background color to black.
    }
  }
}

Kotlin

override fun onAppEvent(name: String?, info: String?) {
    if (name == "color") {
        when (info) {
            "green" -> {
                // Set background color to green.
            }
            "blue" -> {
                // Set background color to blue.
            }
            else -> {
                // Set background color to black.
            }
        }
    }
}

対応するクリエイティブは次のとおりです。色アプリのイベント メッセージを リスナー:

<html>
<head>
  <script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
  <script>
    document.addEventListener("DOMContentLoaded", function() {
      // Send a color=green event when ad loads.
      admob.events.dispatchAppEvent("color", "green");

      document.getElementById("ad").addEventListener("click", function() {
        // Send a color=blue event when ad is clicked.
        admob.events.dispatchAppEvent("color", "blue");
      });
    });
  </script>
  <style>
    #ad {
      width: 320px;
      height: 50px;
      top: 0px;
      left: 0px;
      font-size: 24pt;
      font-weight: bold;
      position: absolute;
      background: black;
      color: white;
      text-align: center;
    }
  </style>
</head>
<body>
  <div id="ad">Carpe diem!</div>
</body>
</html>

アプリイベントの実装方法については、アド マネージャーのアプリイベントのサンプルをご覧ください。 API デモアプリ。

Java Kotlin

参考情報

GitHub の例

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

次のステップ

折りたたみ可能バナー

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

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

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

その他のトピック