Unity Ads をメディエーションと統合する

このガイドでは、GMA Next-Gen SDK を使用して AdMob メディエーションで Unity Ads の広告を読み込んで表示する方法と、入札とウォーターフォールの統合について説明します。また、広告ユニットのメディエーション設定に Unity Ads を追加する方法と、Unity Ads SDK とアダプタを Android アプリに統合する方法についても取り上げます。

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

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

統合
入札
ウォーターフォール  1
フォーマット
バナー
インタースティシャル
リワード
ネイティブ

要件

  • Android API レベル 24 以降
  • [入札の場合]: 入札でサポートされているすべての広告フォーマットを統合するには、Unity アダプタ 4.16.0.1 以降(最新バージョンを推奨)を使用します。
  • GMA Next-Gen SDK の最新動画

  • メディエーションのスタートガイドの手順を完了していること

ステップ 1: Unity Ads の管理画面で構成を設定する

Unity Ads に登録するか、ログインします。

プロジェクトを作成する

Unity Ads ダッシュボードで、[Projects] に移動し、[New] をクリックします。

フォームに記入し、[作成] をクリックしてプロジェクトを追加します。

[Unity Ads Monetization] に移動し、[Get started] をクリックします。

[New Project] モーダルで、[I will use Mediation] と [Mediation Partner] の [Google Admob] を選択し、[Next] をクリックします。

広告設定のオプションを選択し、[次へ] をクリックします。

プレースメント設定を選択し、[次へ] をクリックします。

入札単価

ウォーターフォール

フォームに記入し、[プロジェクトを追加] をクリックします。

ゲーム ID をメモします。

広告ユニットとプレースメントを作成する

[Unity Ads Monetization] > [Placements] に移動し、プロジェクトを選択して [Add ad unit] をクリックします。

[広告ユニット名] を入力し、[プラットフォーム] と [広告フォーマット] を選択します。

入札単価

[設定] で [単価設定] を選択します。[プレースメント] に、プレースメント名を入力します。

配置 ID をメモしておきます。

ウォーターフォール

[設定] で [ウォーターフォール] を選択します。[プレースメント] で、[プレースメント名]、[位置情報タグ]、[ターゲット] を入力します。

配置 ID をメモしておきます。

最後に、[広告ユニットを追加] をクリックして、広告ユニットとプレースメントを保存します。

Unity Ads Reporting API キーを確認する

入札単価

入札統合の場合、この手順は必要ありません。

ウォーターフォール

Unity Ads の収益化 > API 管理に移動し、[収益化統計 API へのアクセス] の [API キー] をメモします。

次に、[Unity Ads Monetization] > [Organization Settings] に移動し、[Organization core ID] をメモします。

app-ads.txt を更新する

アプリの認定販売者 app-ads.txt は、IAB Tech Lab が推進するイニシアチブで、承認されたチャネルでのみアプリ広告枠を販売できるようにするものです。広告収入の大幅な減少を防ぐためには、app-ads.txt ファイルを実装する必要があります。まだ設定していない場合は、アプリの app-ads.txt ファイルを設定します。

Unity Ads に app-ads.txt を実装するには、app-ads.txt を初めて設定するをご覧ください。

テストモードをオンにする

テストモードは Unity Ads ダッシュボードから有効にできます。[Unity Ads Monetization] > [Testing] に移動します。

アプリのテストモードを強制的に有効にするには、[Google Play ストア] の横にある編集ボタンをクリックし、[クライアント テストモードをオーバーライド] を有効にして、[すべてのデバイスでテストモードを強制的にオンにする(テスト広告を使用)] を選択します。

または、[テストデバイスを追加] をクリックして、特定のデバイスのテストモードを有効にすることもできます。

テストデバイスの詳細を入力して、[保存] をクリックします。

ステップ 2: AdMob の UI で Unity Ads のデマンドを設定する

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

広告ユニットのメディエーション設定に Unity Ads を追加する必要があります。

まず、AdMob アカウントにログインします。次に、[メディエーション] タブに移動します。変更する既存のメディエーション グループがある場合は、そのメディエーション グループの名前をクリックして編集し、[広告ソースとして Unity Ads を追加する] に進みます。

新しいメディエーション グループを作成するには、[メディエーション グループを作成] を選択します。

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

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

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

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

広告ソースとして Unity Ads を追加する

入札単価


[広告ソース] セクションの [入札] カードで、[広告ソースを追加] を選択します。[Unity Ads] を選択します。

[パートナー契約への署名手順] をクリックし、Unity Ads との入札パートナーシップを設定します。



[確認して同意する] をクリックし、[続行] をクリックします。



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



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



ウォーターフォール


[広告のソース] セクションの [ウォーターフォール] カードで、[広告ソースを追加] を選択します。

[Unity Ads] を選択し、[最適化] スイッチをオンにします。前のセクションで取得した API キー組織コア ID を入力して、Unity Ads の広告ソース最適化を設定します。次に、Unity Ads の eCPM 値を入力し、[続行] をクリックします。



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

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


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

欧州の規制に関する設定米国の州の規制に関する設定の手順に沿って、AdMob 管理画面の欧州および米国の州の規制に関する広告パートナーのリストに Unity Ads を追加します。

ステップ 3: Unity Ads の SDK とアダプタをインポートする

アプリレベルの Gradle ファイルに、次の実装依存関係と構成を追加します。

Kotlin

dependencies {
    implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02")
    implementation("com.unity3d.ads:unity-ads:4.16.5")
    implementation("com.google.ads.mediation:unity:4.16.6.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.unity3d.ads:unity-ads:4.16.5'
    implementation 'com.google.ads.mediation:unity:4.16.6.0'
}

configurations.configureEach {
    exclude group: 'com.google.android.gms', module: 'play-services-ads'
    exclude group: 'com.google.android.gms', module: 'play-services-ads-lite'
}

手動による統合

  1. GitHub リポジトリから最新の Unity Ads SDK(unity-ads.aar)をダウンロードして、プロジェクトに追加します。

  2. Google の Maven リポジトリで Unity Ads アダプタ アーティファクトに移動します。最新バージョンを選択し、Unity Ads アダプタの .aar ファイルをダウンロードして、プロジェクトに追加します。

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

Google の EU ユーザーの同意ポリシーに準拠するには、欧州経済領域(EEA)、英国、スイスのユーザーに対して特定の情報を開示し、法律で義務付けられている場合は、Cookie やその他のローカル ストレージの使用、広告のパーソナライズを目的とした個人データの収集、共有、使用についてユーザーの同意を得る必要があります。このポリシーには、EU の e プライバシー指令と一般データ保護規則(GDPR)の要件が反映されています。パブリッシャー様には、同意がメディエーション チェーン内の各広告ソースに反映されていることを確認する責任があります。 Google は、同意に関するユーザーの選択をそのようなネットワークに自動的に渡すことはできません。

SDK バージョン 2.0.0 で、Unity Ads はプライバシー設定をサポートする API を追加しました。次のサンプルコードは、この同意情報を Unity Ads SDK に渡す方法を示しています。同意情報を Unity Ads SDK に手動で渡す場合は、GMA Next-Gen SDK を通じて広告をリクエストする前にこのコードを呼び出すことをおすすめします。

Java

MetaData gdprMetaData = new MetaData(this);
gdprMetaData.set("gdpr.consent", true);
gdprMetaData.commit();

Kotlin

val gdprMetaData = MetaData(this)
gdprMetaData["gdpr.consent"] = true
gdprMetaData.commit()

詳細と各メソッドで指定できる値については、Unity Ads の GDPR への準拠をご覧ください。

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

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

SDK バージョン 2.0.0 で、Unity Ads はプライバシー設定をサポートする API を追加しました。次のサンプルコードは、この同意情報を Unity Ads SDK に渡す方法を示しています。同意情報を Unity Ads SDK に手動で渡す場合は、GMA Next-Gen SDK を通じて広告をリクエストする前にこのコードを呼び出すことをおすすめします。

Java

MetaData ccpaMetaData = new MetaData(this);
ccpaMetaData.set("privacy.consent", true);
ccpaMetaData.commit();

Kotlin

val ccpaMetaData = MetaData(this)
ccpaMetaData["privacy.consent"] = true
ccpaMetaData.commit()

詳細と各メソッドで指定できる値については、Unity Ads の消費者プライバシー法への準拠をご覧ください。

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

Activity コンテキストで広告を読み込む

バナー広告、インタースティシャル広告、ネイティブ広告の各フォーマットを読み込むときに Activity コンテキストを渡します。アクティビティ コンテキストがないと、広告の読み込みは失敗します。

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

テスト広告を有効にする

AdMob 用のテストデバイスを登録し、Unity Ads の管理画面でテストモードを有効にしてください。

テスト広告を確認する

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

エラーコード

アダプタが Unity Ads から広告を受け取れない場合は、次のクラスの ResponseInfo.getAdSourceResponses() を使用して、広告レスポンスからエラーの詳細を確認できます。

com.google.ads.mediation.unity.UnityAdapter
com.google.ads.mediation.unity.UnityMediationAdapter

広告の読み込みに失敗した場合に UnityAds アダプタがスローするコードとメッセージは次のとおりです。

エラーコード 理由
0-10 UnityAds SDK がエラーを返しました。詳しくは、コードをご覧ください。
101 AdMob 管理画面で設定された UnityAds サーバー パラメータがないか、無効です。
102 UnityAds が NO_FILL 状態のプレースメントを返しました。
103 UnityAds が DISABLED 状態のプレースメントを返しました。
104 UnityAds が null コンテキストで広告を表示しようとしました。
105 Unity Ads から広告を初期化、読み込み、表示するために使用されるコンテキストが Activity インスタンスではない。
106 UnityAds が、表示する準備ができていない広告を表示しようとしました。
107 UnityAds はこのデバイスではサポートされていません。
108 UnityAds では、プレースメントごとに一度に 1 つの広告しか読み込めません。
109 UnityAds がエラー状態で終了しました。
200-204 UnityAds バナー固有のエラー。詳しくは、コードをご覧ください。