このガイドでは、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] をクリックします。

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

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

In the [New Project] modal, select [I will use Mediation] and [Google Admob] for [Mediation Partner], then click [Next].

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

プレースメントの設定を選択し、[Next] をクリックします。
入札

ウォーターフォール

フォームに記入して [Add project] をクリックします。

[Game ID] をメモします。

広告ユニットとプレースメントを作成する
[Unity Ads Monetization] > [Placements] に移動し、プロジェクトを選択して [広告ユニットを追加] をクリックします。

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

入札
[Setup] で [Bidding] を選択します。[Placement] に [Placement name] を入力します。

[Placement ID] をメモします。
ウォーターフォール
[Setup] で [Waterfall] を選択します。[Placement] に [Placement name]、[GEO Tagging]、[Target] を入力します。

[Placement ID] をメモします。
最後に、[Add ad unit] をクリックして広告ユニットとプレースメントを保存します。
Unity Ads Reporting API キーを確認する
入札
入札の統合では、この手順は必要ありません。
ウォーターフォール
[Unity Ads Monetization] > [API management] に移動し、[Monetization Stats API Access] の [API Key] をメモします。

次に、[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 ストア] の横にある編集ボタンをクリックし、[Override client test mode] を有効にして、[Force test mode ON (i.e. use test ads) for all devices] を選択すると、アプリのテストモードを強制的に有効にできます。

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

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

ステップ 2: AdMob の管理画面で Unity Ads のデマンドを設定する
広告ユニットのメディエーション設定を構成する
広告ユニットのメディエーション設定に Unity Ads を追加する必要があります。
まず、AdMob アカウントにログインします。次に、[メディエーション] タブに移動します。変更する既存のメディエーション グループがある場合は、そのメディエーション グループの名前をクリックして編集し、引き続き [広告のソースとして Unity Ads を追加する]に進みます。
新しいメディエーション グループを作成するには、[メディエーション グループを作成] をクリックします。

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

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

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

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

広告のソースとして Unity Ads を追加する
入札
[広告ソース] セクションの [入札] カードで、[広告ソースを追加] を選択します。[Unity Ads] を選択します。
[Click How to sign a partnership agreement] and [set up a bidding partnership] with Unity Ads.
[確認して同意する] をクリックし、[続行] をクリックします。
Unity Ads のマッピングがすでにある場合は、 それを選択できます。それ以外の場合は、[マッピングを追加] をクリックします。
次に、前のセクションで取得した [Game ID] と [Placement ID] を入力します。[完了] をクリックします。

ウォーターフォール
[広告ソース] セクションの [ウォーターフォール] カードで、[広告ソースを追加] を選択します。
[Unity Ads] を選択し、[最適化] スイッチをオンにします。前のセクションで取得した [API Key] と [Organization core ID] を入力して、Unity Ads の広告のソース最適化を設定します。次に、Unity Ads の eCPM 値 を入力し、[続行] をクリックします。

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

次に、前のセクションで取得した [Game ID]と [Placement ID] を入力します。[完了] をクリックします。

GDPR と米国の州規制の広告パートナー リストに Unity Ads を追加する
欧州の規制に関する設定 と 米国の州の規制に関する設定 の手順に沿って、AdMob 管理画面の 欧州および米国の州の規制に関する広告パートナーのリストに Unity Ads を追加します。
ステップ 3: Unity Ads SDK とアダプターをインポートする
Android Studio の統合(推奨)
アプリレベルの gradle ファイルに、次の実装の依存関係と構成を追加します。
Kotlin
dependencies { implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.25.0-beta01") implementation("com.unity3d.ads:unity-ads:4.16.5") implementation("com.google.ads.mediation:unity:4.17.0.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.25.0-beta01' implementation 'com.unity3d.ads:unity-ads:4.16.5' implementation 'com.google.ads.mediation:unity:4.17.0.0' } configurations.configureEach { exclude group: 'com.google.android.gms', module: 'play-services-ads' exclude group: 'com.google.android.gms', module: 'play-services-ads-lite' }
手動による統合
GitHub リポジトリから最新の Unity Ads SDK(
unity-ads.aar)をダウンロードし、プロジェクトに追加します。Google の Maven リポジトリで Unity Ads アダプター アーティファクト に移動します。最新バージョンを選択し、Unity Ads アダプターの
.aarファイルをダウンロードして、プロジェクトに追加します。
ステップ 4: Unity Ads SDK にプライバシー設定を実装する
EU ユーザーからの同意と GDPR
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 コンテキストを渡します。アクティビティ コンテキストがないと、広告掲載に失敗します。
ステップ 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 が ERROR 状態で終了しました。 |
| 200-204 | UnityAds バナー固有のエラー。詳しくはコード をご覧ください。 |