Google Mobile Ads SDK を使用すると、Ad Exchange プロパティでアプリを収益化できます。このガイドでは、Ad Exchange でサポートされているすべての広告フォーマットに対応するようにアプリを設定する方法について説明します。
前提条件
Ad Exchange にアクセスするようにアプリを設定する
アプリの
AndroidManifest.xml ファイルに、android:name="com.google.android.gms.ads.APPLICATION_ID" を含む <meta-data> タグを使用して、アド マネージャー アプリ 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/
次の例では、Ad Exchange ウェブ プロパティ コードをバナー広告リクエストに追加しています。
Kotlin
val adRequest = BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/", AdSize.BANNER).build()
BannerAd.load(
adRequest,
object : AdLoadCallback<BannerAd> {
override fun onAdLoaded(ad: BannerAd) {
bannerAd = ad
activity?.runOnUiThread {
binding.bannerViewContainer.addView(ad.getView(requireActivity()))
}
}
}
)
Java
BannerAdRequest adRequest = new BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/",
AdSize.BANNER).build();
BannerAd.load(
adRequest,
new AdLoadCallback<BannerAd>() {
@Override
public void onAdLoaded(@NonNull BannerAd ad) {
bannerAd = ad;
runOnUiThread(
() -> binding.bannerViewContainer.addView(ad.getView(MainActivity.this)));
}
});
Ad Exchange ウェブ プロパティ コードに末尾のスラッシュを追加しなかった場合、次のメッセージが表示されて広告リクエスト エラーが発生します。
Invalid Request. Cannot determine request type. Is your ad unit id correct?
Ad Exchange ウェブ プロパティ コードを広告ユニットに変換することもできます。
その後、アド マネージャーの管理画面を使用して Ad Exchange
タグを生成し、アプリにコピーします。生成されたタグには、Ad Exchange ウェブ プロパティ コードの後に、末尾にスラッシュが付いていない下位の広告ユニット ID が含まれている必要があります(例:
ca-mb-app-pub-5629679302779023/banner)。
これで完了です。アプリで Ad Exchange のバナー広告を読み込んで表示できるようになりました。
また、Ad Exchange ウェブ プロパティを使用して、Ad Exchange から他の広告フォーマットを読み込んで表示することもできます。それぞれのガイドをご覧ください。
(ヨーロッパの承認済みパブリッシャー様のみ)最小価格を追加する
「最小価格」機能の使用リクエストを送信できます 。
承認されると、pubf パラメータと pvtf パラメータを使用して、広告リクエストに公開最小価格または非公開最小価格を含めることができます。次のコード
例では、「123」を最小価格(マイクロ単位)とネットワークの
デフォルト通貨に置き換えます。マイクロ単位の適用例としては、デフォルトの通貨が米ドルの場合、「6000000」と入力すると 6 ドルと同等になります。
Kotlin
val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
val request = AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
.setGoogleExtrasBundle(extras)
.build();
Java
Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
AdRequest request = new AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
.setGoogleExtrasBundle(extras)
.build();