DT Exchange をメディエーションと統合する

このガイドでは、Google Mobile Ads SDK を使用して、メディエーションを活用し、ウォーターフォール統合で DT Exchange から広告を読み込んで表示する方法について説明します。ここでは、広告ユニットのメディエーション構成に DT Exchange を追加する方法と、DT Exchange SDK とアダプタをアプリに統合する方法について説明します。 Unity

サポートされている統合と広告フォーマット

DT Exchange の Ad Manager メディエーション アダプタには、次の機能があります。

統合
単価設定
フォーマット
バナー
インタースティシャル
特典

要件

  • 最新の Google Mobile Ads SDK
  • Unity 4 以降
  • Android にデプロイするには
    • Android API レベル 21 以降
  • iOS にデプロイするには
    • iOS デプロイ ターゲットが 12.0 以降
  • Google Mobile Ads SDK で構成された動作する Unity プロジェクト。詳細については、スタートガイドをご覧ください。
  • メディエーションのスタートガイドを完了していること

ステップ 1: DT Exchange UI で構成を設定する

新しいアプリと広告プレースメントを追加する

DT Exchange Console に登録するか、ログインします。

[アプリを追加] ボタンをクリックしてアプリを追加します。

アプリを管理する

プラットフォームを選択し、フォームの残りの項目を入力して、[プレースメントを追加] をクリックします。

Android

iOS

[プレースメントに名前を付ける] というラベルの付いたフィールドに新しいプレースメントの名前を入力し、プルダウン リストから目的の [プレースメント タイプ] を選択します。最後に、[プレースメントを保存] をクリックします。

セットアップ

アプリ ID とプレースメント ID

左側のナビゲーション バーにマウスカーソルを合わせると、そのバーが開きます。次に、左側のメニューから [アプリ] をクリックします。

メニュー

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

App ID

アプリを選択して [プレースメント] タブに移動し、[プレースメント名] の横にあるコピーアイコンをクリックします。プレースメント ID をメモしておきます。

プレースメント ID

パブリッシャー ID、コンシューマ キー、コンシューマ シークレット

左側のメニューでユーザー名をクリックし、[ユーザー プロフィール] を選択します。

ユーザー プロフィール メニュー

パブリッシャー IDコンシューマ キーコンシューマ シークレットをメモしておきます。これらは次のステップで必要になります。

ユーザー プロフィール

ステップ 2: Ad Manager UI で DT Exchange デマンドを設定する

広告ユニットのメディエーション設定を構成する

Android

手順については、Android のガイドの手順 2 をご覧ください。

iOS

手順については、iOS 向けガイドの手順 2 をご覧ください。

GDPR と米国の州規制の広告パートナー リストに Fyber を追加

GDPR 設定米国の州規制の設定の手順に沿って、アド マネージャーの管理画面で、GDPR と米国の州規制の広告パートナー リストに DT Exchange(Fyber 収益化)を追加します。

ステップ 3: DT Exchange SDK とアダプターをインポートする

OpenUPM-CLI

OpenUPM-CLI がインストールされている場合は、プロジェクトのルート ディレクトリから次のコマンドを実行して、Unity 用の Google モバイル広告 DT Exchange メディエーション プラグインをプロジェクトにインストールできます。

openupm add com.google.ads.mobile.mediation.dtexchange

OpenUPM

Unity プロジェクト エディタで、[Edit] > [Project Settings] > [Package Manager] を選択して、Unity Package Manager Settings を開きます。

[スコープ付きレジストリ] タブで、OpenUPM をスコープ付きレジストリとして追加し、次の詳細情報を指定します。

  • 名前: OpenUPM
  • URL: https://package.openupm.com
  • スコープ: com.google

OpenUPM の詳細

次に、[Window] > [Package Manager] に移動して Unity Package Manager を開き、プルダウン メニューから [My Registries] を選択します。

Unity レジストリ

[Google Mobile Ads DT Exchange Mediation] パッケージを選択し、[Install] をクリックします。

OpenUPM からインストールする

Unity パッケージ

変更ログのダウンロード リンクから DT Exchange 向け Google モバイル広告メディエーション プラグインの最新バージョンをダウンロードし、ZIP ファイルから GoogleMobileAdsDTExchangeMediation.unitypackage を抽出します。

Unity プロジェクト エディタで、[Assets] > [Import Package] > [Custom Package] を選択し、ダウンロードした GoogleMobileAdsDTExchangeMediation.unitypackage ファイルを探します。すべてのファイルのチェックボックスがオンになっていることを確認して、[インポート] をクリックします。

Unity からインポートする

次に、[Assets] > [External Dependency Manager] > [Android Resolver] > [Force Resolve] を選択します。External Dependency Manager ライブラリは、依存関係の解決を最初から実行し、宣言された依存関係を Unity アプリの Assets/Plugins/Android ディレクトリにコピーします。

強制解決

ステップ 4: DT Exchange SDK にプライバシー設定を実装する

Google の EU ユーザーの同意ポリシーに基づき、デバイス ID と個人データの使用について、欧州経済領域(EEA)のユーザーに対して特定の情報を開示し、同意を得る必要があります。このポリシーには、EU の e プライバシー指令と一般データ保護規則(GDPR)の要件が反映されています。同意を求める際は、個人データを収集、受領、または使用する可能性があるメディエーション チェーン内の各広告ネットワークを特定し、各ネットワークの使用に関する情報を提供する必要があります。現在のところ、Google はユーザーの同意に関する選択を自動的にこのようなネットワークに渡すことはできません。

このセクションでは、DT Exchange でパーソナライズド広告を有効または無効にする方法について説明します。

DT Exchange 向け Google Mobile Ads メディエーション プラグイン バージョン 1.1.0 に、SetGDPRRequired() メソッドと SetGDPRConsentString() メソッドを持つ Fyber クラスが追加されました。これにより、同意情報を DT Exchange に手動で渡すことができます。次のサンプルコードは、これらのパラメータを DT Exchange アダプタに渡す方法を示しています。

using GoogleMobileAds.Api.Mediation.Fyber;
// ...

Fyber.SetGDPRConsent(true);
Fyber.SetGDPRConsentString("myGDPRConsentString");

詳細と、このメソッドで指定できる値については、DT Exchange の GDPR に関する記事をご覧ください。

米国のプライバシー関連州法

米国の州のプライバシー法では、ユーザーに「個人情報」の「販売」を拒否する権利を付与することが義務付けられています(用語は法律の定義に基づく)。「販売」を行う事業者はホームページに「個人情報を販売しない」リンクをわかりやすく表示することが求められます。米国の州のプライバシー関連法の遵守ガイドでは、Google 広告配信で制限付きデータ処理を有効にできますが、Google はメディエーション チェーン内の各広告ネットワークにこの設定を適用することはできません。そのため、個人情報の販売に関与する可能性があるメディエーション チェーンの各広告ネットワークを特定し、各ネットワークのガイダンスに沿ってコンプライアンスを確保する必要があります。

DT Exchange 向け Google Mobile Ads メディエーション プラグイン バージョン 3.1.1 では、SetCCPAString() メソッドを持つ Fyber クラスが追加され、同意情報を DT Exchange に手動で渡せるようになりました。次のサンプルコードは、これらのパラメータを DT Exchange アダプタに渡す方法を示しています。

using GoogleMobileAds.Api.Mediation.Fyber;
// ...

Fyber.SetCCPAString("myCCPAConsentString");

// You can also clear CCPA consent information using the following method:
Fyber.ClearCCPAString();

詳細と、このメソッドで指定できる値については、DT Exchange の CCPA Open Source の記事をご覧ください。

ステップ 5: 必要なコードを追加する

Android

DT Exchange の統合に追加のコードは必要ありません。

iOS

SKAdNetwork の統合

DT Exchange のドキュメントに沿って、SKAdNetwork ID をプロジェクトの Info.plist ファイルに追加します。

ステップ 6: 実装をテストする

テスト広告を有効にする

アド マネージャーでテストデバイスを登録してください。

テスト広告を確認する

DT Exchange からテスト広告が配信されていることを確認するには、広告インスペクタで DT Exchange(ウォーターフォール)広告ソースを使用して単一の広告ソースのテストを有効にします。

エラーコード

アダプターが DT Exchange から広告を受信できない場合、パブリッシャーは次のクラスの ResponseInfo を使用して、広告レスポンスの根本的なエラーを確認できます。

Android

com.google.ads.mediation.fyber.FyberMediationAdapter

iOS

GADMediationAdapterFyber

広告の読み込みに失敗したときに DT Exchange アダプタによってスローされるコードとそれに付随するメッセージは次のとおりです。

Android

エラーコード 理由
101 Ad Manager UI で構成された DT Exchange サーバー パラメータが欠落しているか、無効です。
103 リクエストされた広告サイズが、DT Exchange でサポートされているバナーサイズと一致しません。
105 DT Exchange SDK が広告を読み込みましたが、予期しないコントローラを返しました。
106 広告を表示する準備ができていません。
200-399 DT Exchange SDK がエラーを返しました。詳しくは、コードをご覧ください。

iOS

エラーコード 理由
0-10 DT Exchange SDK がエラーを返しました。詳しくは、ドキュメントをご覧ください。
101 Ad Manager UI で構成された DT Exchange サーバー パラメータが欠落しているか、無効です。
102 リクエストされた広告サイズが、DT Exchange でサポートされているバナーサイズと一致しません。
103 広告オブジェクトがすでに使用されているため、広告を表示できませんでした。
104 広告が準備できていないため、DT Exchange 広告を表示できませんでした。
105 DT Exchange SDK から初期化エラーが返されました。

DT Exchange Unity メディエーション プラグインの変更ログ

バージョン 3.3.4

バージョン 3.3.3

バージョン 3.3.2

バージョン 3.3.1

バージョン 3.3.0

バージョン 3.2.1

バージョン 3.2.0

バージョン 3.1.12

バージョン 3.1.11

バージョン 3.1.10

バージョン 3.1.8

バージョン 3.1.7

バージョン 3.1.6

バージョン 3.1.5

バージョン 3.1.4

バージョン 3.1.3

バージョン 3.1.2

バージョン 3.1.1

バージョン 3.1.0

バージョン 3.0.2

バージョン 3.0.1

バージョン 3.0.0

バージョン 2.0.0

バージョン 1.6.1

バージョン 1.6.0

バージョン 1.5.2

バージョン 1.5.1

バージョン 1.5.0

バージョン 1.4.0

バージョン 1.3.0

バージョン 1.2.3

バージョン 1.2.2

バージョン 1.2.1

バージョン 1.2.0

バージョン 1.1.0

バージョン 1.0.0