このガイドでは、GMA Next-Gen SDK を使用して AdMob メディエーションで DT Exchange の広告を読み込んで表示する方法とウォーターフォール統合について説明します。また、広告ユニットのメディエーション設定に DT Exchange を追加する方法と、DT SDK とアダプタを Android アプリに統合する方法についても取り上げます。
サポートされている統合と広告フォーマット
DT Exchange のメディエーション アダプタには、次の機能があります。
| 統合 | |
|---|---|
| 入札 | 1 |
| ウォーターフォール | |
| フォーマット | |
| バナー | |
| インタースティシャル | |
| リワード | |
| ネイティブ | |
1 入札の統合はクローズド ベータ版です。アクセスをリクエストするには、アカウント マネージャーにお問い合わせください。
要件
- Android API レベル 24 以降
最新の GMA Next-Gen SDK。
メディエーションのスタートガイドの手順を完了していること
ステップ 1: DT Exchange の管理画面で構成を設定する
新しいアプリと広告プレースメントを追加する
DT Exchange Console に登録するか、ログインします。
[アプリを追加] をクリックします。

プラットフォームとプレースメントを選択し、フォームの残りの部分を入力して、[アプリを作成] をクリックします。

プレースメントの名前を入力し、タイプを選択します。[Save Placement] をクリックします。
アプリ ID とプレースメント ID
左側のナビゲーション バーにカーソルを合わせて開き、[アプリの管理] をクリックします。

[アプリの管理] ページで、アプリの横にある [アプリ ID] をメモします。

アプリを選択して、[プレースメント] タブに移動します。プレースメント ID をメモしておきます。
パブリッシャー ID、コンシューマー キー、コンシューマー シークレット
左側のメニューでユーザー名をクリックし、[ユーザー プロフィール] を選択します。

パブリッシャー ID、コンシューマ キー、コンシューマ シークレットをメモしておきます。これらは次のステップで必要になります。
app-ads.txt を更新する
アプリの認定販売者 app-ads.txt は、IAB Tech Lab が推進するイニシアチブで、承認されたチャネルでのみアプリ広告枠を販売できるようにするものです。広告収入の大幅な減少を防ぐためには、app-ads.txt ファイルを実装する必要があります。まだ設定していない場合は、アプリの app-ads.txt ファイルを設定します。
DT Exchange に app-ads.txt を実装するには、app-ads.txt ファイルに DT を追加します。
ステップ 2: AdMob の UI で DT Exchange のデマンドを設定する
広告ユニットのメディエーション設定を構成する
広告ユニットのメディエーション設定に DT Exchange を追加する必要があります。
まず、AdMob アカウントにログインします。次に、[メディエーション] タブに移動します。変更したい既存のメディエーション グループがある場合は、そのメディエーション グループの名前をクリックして編集し、広告ソースとして DT Exchange を追加するに進みます。
新しいメディエーション グループを作成するには、[メディエーション グループを作成] を選択します。

広告フォーマットとプラットフォームを入力し、[続行] をクリックします。

メディエーション グループに名前を付け、ターゲットとする地域を選択します。次に、メディエーション グループのステータスを [有効] に設定し、[広告ユニットを追加] をクリックします。

このメディエーション グループを、1 つ以上の既存の AdMob 広告ユニットに関連付けます。次に [完了] をクリックします。

広告ユニット カードに選択した広告ユニットが表示されます。

広告ソースとして DT Exchange を追加する
入札単価
[広告ソース] セクションの [入札] カードで、[広告ソースを追加] を選択します。[DT Exchange] を選択します。
[パートナー契約への署名手順] をクリックし、DT Exchange との入札パートナーシップを設定します。
[確認して同意する] をクリックし、[続行] をクリックします。
DT Exchange のマッピングがすでにある場合は、それを選択できます。それ以外の場合は、[マッピングを追加] をクリックします。
次に、前のセクションで取得したアプリケーション ID とプレースメント ID を入力します。[完了] をクリックします。

ウォーターフォール
[広告のソース] セクションの [ウォーターフォール] カードで、[広告ソースを追加] を選択します。
[DT Exchange] を選択し、[最適化] スイッチを有効にします。前のセクションで取得したパブリッシャー ID、コンシューマー シークレット、コンシューマー キーを入力して、DT Exchange の広告ソース最適化を設定します。次に、DT Exchange の eCPM 値を入力し、[続行] をクリックします。

DT Exchange のマッピングがすでに存在する場合は、それを選択できます。それ以外の場合は、[マッピングを追加] をクリックします。

次に、前のセクションで取得したアプリケーション ID とプレースメント ID を入力します。[完了] をクリックします。

GDPR と米国の州規制に関する広告パートナー リストに DT Exchange(Fyber Monetization)を追加する
欧州の規制に関する設定と米国の州の規制に関する設定の手順に沿って、AdMob 管理画面の欧州および米国の州の規制に関する広告パートナーのリストに DT Exchange(Fyber Monetization)を追加します。
ステップ 3: DT SDK とアダプタをインポートする
Android Studio の統合(推奨)
アプリレベルの Gradle ファイルに、次の実装依存関係と構成を追加します。
Kotlin
dependencies { implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02") implementation("com.google.ads.mediation:fyber:8.4.3.0") } configurations.configureEach { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
Groovy
dependencies { implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02' implementation 'com.google.ads.mediation:fyber:8.4.3.0' } configurations.configureEach { exclude group: 'com.google.android.gms', module: 'play-services-ads' exclude group: 'com.google.android.gms', module: 'play-services-ads-lite' }
手動による統合
- DT SDK for Android の最新バージョンをダウンロードし、プロジェクトに
fyber-marketplace-x.y.z.aarを追加します。 - Google の Maven リポジトリで DT Exchange アダプタ アーティファクトに移動します。最新バージョンを選択し、DT Exchange アダプタの
.aarファイルをダウンロードして、プロジェクトに追加します。
ステップ 4: DT SDK にプライバシー設定を実装する
EU ユーザーからの同意と GDPR
Google の EU ユーザーの同意ポリシーに準拠するには、欧州経済領域(EEA)、英国、スイスのユーザーに対して特定の情報を開示し、法律で義務付けられている場合は、Cookie やその他のローカル ストレージの使用、広告のパーソナライズを目的とした個人データの収集、共有、使用についてユーザーの同意を得る必要があります。このポリシーには、EU の e プライバシー指令と一般データ保護規則(GDPR)の要件が反映されています。パブリッシャー様には、同意がメディエーション チェーン内の各広告ソースに反映されていることを確認する責任があります。 Google は、同意に関するユーザーの選択をそのようなネットワークに自動的に渡すことはできません。
DT Exchange SDK バージョン 8.3.0 以降では、Google の追加同意の仕様をサポートする同意管理プラットフォームによって設定された GDPR 同意が自動的に読み取られます。詳しくは、DT Exchange の GDPR 実装ガイドをご覧ください。
米国のプライバシー関連州法
米国のプライバシー関連州法では、ユーザーが「個人情報」の「販売」をオプトアウトする権利を付与することが義務付けられています(用語は法律の定義に基づく)。「販売者」のホームページには、「個人情報を第三者に売却しない」ことを明記したリンクを目立つように表示することによってオプトアウトの手段を提供する必要があります。米国のプライバシー関連州法遵守ガイドでは、Google 広告の配信で制限付きデータ処理を有効にできますが、Google がこの設定をメディエーション チェーン内の各広告ネットワークに適用することはできません。そのため、メディエーション チェーン内で個人情報の販売に関与する可能性のある広告ネットワークを特定し、各ネットワークのガイダンスに沿って州法を遵守する必要があります。
DT Exchange には、ユーザーの同意を SDK に転送できる API が含まれています。次のサンプルコードは、同意情報を DT SDK に手動で渡す方法を示しています。DT SDK に同意情報を手動で渡す場合は、GMA Next-Gen SDK を通じて広告をリクエストする前にこのコードを呼び出すことをおすすめします。
Java
Kotlin
US_PRIVACY_STRING は、米国のプライバシー文字列に置き換えます。
詳細と、メソッドで指定できる値については、DT Exchange の CCPA 実装ガイドをご覧ください。
ステップ 5: 必要なコードを追加する
アクティビティ コンテキストで広告を読み込む
インタースティシャル広告フォーマットを読み込むときに Activity コンテキストを渡します。アクティビティ コンテキストがないと、広告の読み込みは失敗します。
ステップ 6: 実装をテストする
テスト広告を有効にする
AdMob 用のテストデバイスを登録してください。
テスト広告を確認する
DT Exchange からテスト広告を受信していることを確認するには、DT Exchange(入札)と DT Exchange(ウォーターフォール)の広告ソースを使用して、広告インスペクタで単一の広告ソースのテストを有効にします。
省略可能なステップ
ネットワーク固有のパラメータ
DT Exchange アダプタは、Android Bundle としてアダプタに渡すことができる追加のリクエスト パラメータをサポートしています。アダプタはバンドル内で次のキーを探します。
| リクエスト パラメータと値 | |
|---|---|
InneractiveMediationDefs.KEY_AGE
|
整数。ユーザーの年齢 |
FyberMediationAdapter.KEY_MUTE_VIDEO
|
Boolean。動画をミュートする、ミュートを解除する |
広告リクエスト パラメータを設定するコードの例を次に示します。
Java
Bundle extras = new Bundle();
extras.putInt(InneractiveMediationDefs.KEY_AGE, 10);
extras.putBoolean(FyberMediationAdapter.KEY_MUTE_VIDEO, false);
AdRequest request =
new AdRequest.Builder().addNetworkExtrasBundle(FyberMediationAdapter.class, extras).build();
Kotlin
val extras = Bundle()
extras.putInt(InneractiveMediationDefs.KEY_AGE, 10)
extras.putBoolean(FyberMediationAdapter.KEY_MUTE_VIDEO, false)
val request =
AdRequest.Builder().addNetworkExtrasBundle(FyberMediationAdapter::class.java, extras).build()
エラーコード
アダプタが DT Exchange から広告を受け取れない場合は、次のクラスの ResponseInfo.getAdSourceResponses() を使用して、広告レスポンスからエラーの詳細を確認できます。
com.google.ads.mediation.fyber.FyberMediationAdapter
広告の読み込みに失敗した場合に DT Exchange アダプタがスローするコードとメッセージは次のとおりです。
| エラーコード | 理由 |
|---|---|
| 101 | AdMob 管理画面で設定された DT Exchange サーバー パラメータがないか、無効です。 |
| 103 | リクエストされた広告サイズが、DT Exchange でサポートされているバナーサイズと一致しません。 |
| 105 | DT SDK が広告を読み込んだものの、予期しないコントローラを返しました。 |
| 106 | 広告を表示する準備ができていません。 |
| 107 | コンテキストがアクティビティ インスタンスではありません。 |
| 200-399 | DT SDK がエラーを返しました。詳しくは、コードをご覧ください。 |