Google Mobile Ads SDK は、Ad Exchange プロパティを使用してアプリを収益化することをサポートしています。このガイドでは、Ad Exchange でサポートされているすべての広告フォーマットに対応するようにアプリを設定する方法について説明します。
前提条件
- 前提条件を満たします。
- Google Mobile Ads SDK 用にアプリを設定します。
Ad Exchange にアクセスするようにアプリを構成する
android:name="com.google.android.gms.ads.APPLICATION_ID"
を含む <meta-data>
タグを使用して、アプリの AndroidManifest.xml ファイルにアド マネージャー アプリ ID(アド マネージャーの管理画面で確認)を追加します。android:value
には、ご自身のアド マネージャー アプリ ID を引用符で囲んで挿入します。
<manifest>
<application>
<!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
</application>
</manifest>
また、前述のように <meta-data>
タグを追加しなかった場合、次のメッセージが表示されてクラッシュします。
Missing application ID.
次に、Google Mobile Ads SDK を初期化し、表示する広告フォーマットを選択します。このガイドの残りの部分では、バナー フォーマットを実装して、Ad Exchange から広告を読み込む方法について説明します。同じ手順は、Google Mobile Ads SDK でサポートされているすべての広告フォーマットに適用できます。
Ad Exchange から広告を読み込む
広告ユニット ID の代わりに、末尾にスラッシュが付いた Ad Exchange ウェブ プロパティ コードを使用できます。例: ca-mb-app-pub-5629679302779023/
たとえば、次のように Activity
のレイアウトに AdManagerAdView
を配置してバナー広告を読み込むには:
# main_activity.xml
...
<com.google.android.gms.ads.admanager.AdManagerAdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adManagerAdView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-mb-app-pub-5629679302779023/">
</com.google.android.gms.ads.admanager.AdManagerAdView>
または、ビュー階層をプログラムで作成することもできます。
Java
AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(AdSize.BANNER);
adView.setAdUnitId("ca-mb-app-pub-5629679302779023/");
// TODO: Add adView to your view hierarchy.
Kotlin
val adView = AdManagerAdView(this)
adView.adSizes = AdSize.BANNER
adView.adUnitId = "ca-mb-app-pub-5629679302779023/"
// TODO: Add adView to your view hierarchy.
AdManagerAdView
を配置したら、AdManagerAdView
クラスで loadAd()
メソッドを呼び出すことができます。また、広告イベントを使用して広告の動作をカスタマイズすることもできます。
Ad Exchange ウェブ プロパティ コードの末尾にスラッシュを追加しないと、次のメッセージが表示されて広告リクエスト エラーが発生します。
Invalid Request. Cannot determine request type. Is your ad unit id correct?
Ad Exchange のウェブ プロパティ コードを広告ユニットに変換することもできます。その後、アド マネージャーの UI を使用して Ad Exchange タグを生成し、アプリにコピーします。生成されたタグには、Ad Exchange ウェブ プロパティ コードと、末尾のスラッシュなしの広告ユニット ID が含まれている必要があります(例: ca-mb-app-pub-5629679302779023/banner
)。
これで、これで、Ad Exchange のバナー広告をアプリで読み込んで表示できるようになりました。
また、Ad Exchange ウェブ プロパティを使用して、次のガイドに沿って Ad Exchange の他の広告フォーマットを読み込んで表示することもできます。
(ヨーロッパの承認済みパブリッシャー様のみ)最小価格を追加する
「最小価格」機能の使用リクエストを送信できます。
承認されると、それぞれ pubf
パラメータと pvtf
パラメータを使用して、広告リクエストに公開フロア価格または非公開フロア価格を含めることができます。次のコード例では、「123」をマイクロ単位のフロア価格とネットワークのデフォルト通貨に置き換えます。マイクロの適用例: デフォルトの通貨が米ドルの場合、「6000000」と入力すると 6.00 ドルに相当します。
Java
Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
AdManagerAdRequest request = new AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build();
Kotlin
val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
val request = AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class::java, extras)
.build();