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

このガイドでは、GMA Next-Gen SDK を使用して メディエーションで 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 をメモしておきます。

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

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: アド マネージャーの管理画面で Unity Ads のデマンドを設定する

アド マネージャー アカウントにログインします。

[Companies] に Unity Ads を追加する

入札単価

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

ウォーターフォール

[管理] > [会社] に移動し、[すべての会社] タブで [新しい会社] ボタンをクリックします。[広告ネットワーク] を選択します。

[広告ネットワーク] で [Unity Ads] を選択し、一意の名前を入力して、[メディエーション] を有効にします。[自動データ収集] をオンにして、前のセクションで取得した API キー組織コア ID を入力します。

ユーザー名パスワードを入力する必要はありません。完了したら、[保存] をクリックします。

セキュア シグナルの共有を有効にする

入札単価

[管理者] > [全般設定] に移動します。[Ad Exchange アカウントの設定] タブに移動し、[セキュア シグナルの共有] を確認してオンに切り替えます。[保存] をクリックします。

ウォーターフォール

ウォーターフォール統合の場合、この手順は必要ありません。

入札リクエストでセキュア シグナルを共有する

入札単価

[広告枠] > [セキュア シグナル] に移動します。[セキュア シグナル] で、Unity Ads を検索し、[アプリ統合を有効にする] をオンにします。

[保存] をクリックします。

ウォーターフォール

ウォーターフォール統合の場合、この手順は必要ありません。

SDK 入札のセキュア シグナルの共有を許可する

入札単価

[配信] > [デマンド チャネルの設定] に移動します。[デフォルト設定] タブで、[SDK 入札] の [セキュア シグナルの共有を許可する] をオンにします。

[保存] をクリックします。

ウォーターフォール

ウォーターフォール統合の場合、この手順は必要ありません。

Unity Ads の入札を設定する

入札単価

[配信] > [入札者(ビッダー)] に移動し、[SDK 入札に移動] をクリックします。

[新しいビッダー] をクリックします。

ビッダーとして [Unity Ads] を選択します。

[続行] をクリックして、このビッダーの SDK 入札を有効にします。

[完了] をクリックします。

ウォーターフォール

ウォーターフォール統合の場合、この手順は必要ありません。

広告ユニットのマッピングを設定する

入札単価

[配信] > [入札者(ビッダー)] に移動し、[SDK 入札に移動] をクリックします。

Unity Ads で使用する会社を選択します。

[広告ユニットのマッピング] タブに移動し、[新しい広告ユニットのマッピング] をクリックします。

[特定の広告ユニット] を選択します。広告ユニットと広告フォーマットを選択します。[広告枠のタイプ] として [モバイルアプリ] を選択し、対象のモバイルアプリを選択します。次に、前のセクションで取得したゲーム IDプレースメント ID を入力します。最後に [保存] をクリックします。

ウォーターフォール

[配信] > [収益グループ] に移動し、[新しい収益グループ] ボタンをクリックします。モバイルアプリを選択します。

下にスクロールして [収益パートナーを追加] をクリックします。

前のセクションで Unity Ads 用に作成した会社を選択します。[統合タイプ] で [モバイル SDK メディエーション]、[プラットフォーム] で [Android]、[ステータス] で [有効] を選択します。

前のセクションで取得したゲーム IDプレースメント ID、およびデフォルト CPM の値を入力します。[保存] をクリックします。

注: 自動データ収集では、メディエーション ネットワークのダイナミック CPM 値を正確に計算できるようになるまで、データの収集に数日かかります。eCPM を計算できるようになると、自動的に更新されます。

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

欧州の規制に関する設定米国の州の規制に関する設定の手順に沿って、アド マネージャーの管理画面で欧州および米国の州の規制に関する広告パートナーのリストに 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: 実装をテストする

テスト広告を有効にする

アド マネージャー用のテストデバイスを登録し、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 アド マネージャー UI で設定された 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 バナー固有のエラー。詳しくは、コードをご覧ください。