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

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

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

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

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

1 入札の統合はオープン ベータ版です。

要件

  • 最新の Google Mobile Ads SDK
  • Unity 4 以降
  • [入札の場合]: 入札でサポートされているすべての広告フォーマットを統合するには、Unity Ads 3.11.1 以降用の Google Mobile Ads メディエーション プラグインを使用します(最新バージョンを推奨)。
  • Android にデプロイするには
    • Android API レベル 23 以降
  • iOS にデプロイするには
    • iOS のデプロイ ターゲットが 12.0 以降
  • Google Mobile Ads SDK が構成された Unity プロジェクト。詳しくは、スタートガイドをご覧ください。
  • メディエーションのスタートガイドの手順を完了していること

ステップ 1: Unity Ads UI で設定を行う

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] をクリックします。

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

Android

iOS

入札単価

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

プレースメント ID をメモしておきます。

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

プレースメント ID をメモしておきます。

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

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 を更新する

Authorized Sellers for Apps 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 に移動します。

各プラットフォームの編集ボタンをクリックし、[Override client test mode] を有効にして、[Force test mode ON (i.e. use test ads) for all devices] を選択すると、アプリのテストモードを強制的に有効にできます。

Android

iOS

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

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

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

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

Android

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

iOS

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

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

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

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

OpenUPM-CLI

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

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

OpenUPM

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

[Scoped Registries] タブで、次の詳細を使用して OpenUPM をスコープ付きレジストリとして追加します。

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

OpenUPM の詳細

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

Unity Registries

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

OpenUPM からインストールする

Unity パッケージ

変更ログのダウンロード リンクから Unity Ads 用の Google Mobile Ads メディエーション プラグインの最新バージョンをダウンロードし、ZIP ファイルから GoogleMobileAdsUnityAdsMediation.unitypackage を抽出します。

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

Unity からインポートする

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

Force Resolve(強制解決)

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

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

Unity Ads 用の Google Mobile Ads メディエーション プラグイン バージョン 3.3.0 には、UnityAds.SetConsentMetaData() メソッドが含まれています。次のサンプルコードは、同意情報を Unity Ads SDK に渡す方法を示しています。このメソッドを呼び出す場合は、Google Mobile Ads SDK を通じて広告をリクエストする前に行うことをおすすめします。

using GoogleMobileAds.Api.Mediation.UnityAds;
// ...

UnityAds.SetConsentMetaData("gdpr.consent", true);

各メソッドで指定できる値の詳細については、Unity Ads のプライバシーの同意とデータ APIGDPR への準拠のガイドをご覧ください。

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

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

Unity Ads 用の Google Mobile Ads メディエーション プラグイン バージョン 3.3.0 には、UnityAds.SetConsentMetaData() メソッドが含まれています。次のサンプルコードは、同意情報を Unity Ads SDK に渡す方法を示しています。このメソッドを呼び出す場合は、Google Mobile Ads SDK を通じて広告をリクエストする前に行うことをおすすめします。

using GoogleMobileAds.Api.Mediation.UnityAds;
// ...

UnityAds.SetConsentMetaData("privacy.consent", true);

各メソッドで指定できる値の詳細については、Unity Ads の Privacy Consent and data APIsComplying with CCPA のガイドをご覧ください。

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

Android

Unity Ads Android 統合では追加のコードは必要ありません。

iOS

SKAdNetwork の統合

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

コンパイル エラー

Unity Ads アダプタ 3.4.0 以降の場合は、Unity のドキュメントに記載されている統合手順に沿って操作する必要があります。

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

テスト広告を有効にする

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

テスト広告を確認する

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

エラーコード

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

Android

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

iOS

GADMAdapterUnity
GADMediationAdapterUnity

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

Android

エラーコード 理由
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 バナーで特定のエラーが発生します。詳しくは、コードをご覧ください。

iOS

0~9 UnityAds SDK からエラーが返されました。詳しくは、Unity のドキュメントをご覧ください。
101 AdMob 管理画面で設定された UnityAds サーバー パラメータが存在しないか、無効です。
102 UnityAds でサポートされていないデバイスです。
103 UnityAds の表示が終了しました(エラー状態: kUnityAdsFinishStateError)。
104 Unity 広告オブジェクトは、イニシャライザを呼び出した後に nil になります。
105 広告の準備ができていないため、Unity Ads を表示できませんでした。
107 UnityAds が、プレースメントの状態 kUnityAdsPlacementStateDisabled でプレースメント変更コールバックを呼び出しました。
108 このプレースメントにはすでに広告が読み込まれています。UnityAds SDK では、同じプレースメントに対して複数の広告を読み込むことはできません。
109 UnityAds から返されたバナー広告がリクエストされたサイズと一致しません。
110 UnityAds から初期化エラーが返されました。
111 サポートされていない広告フォーマットです。

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

バージョン 3.15.1

バージョン 3.15.0

バージョン 3.14.4

バージョン 3.14.3

バージョン 3.14.2

バージョン 3.14.1

バージョン 3.14.0

バージョン 3.13.0

バージョン 3.12.6

バージョン 3.12.5

バージョン 3.12.4

バージョン 3.12.3

バージョン 3.12.2

バージョン 3.12.1

バージョン 3.12.0

バージョン 3.11.1

バージョン 3.11.0

バージョン 3.10.0

バージョン 3.9.1

バージョン 3.9.0

バージョン 3.8.0

バージョン 3.7.1

バージョン 3.7.0

バージョン 3.6.1

バージョン 3.6.0

バージョン 3.5.0

バージョン 3.4.1

バージョン 3.4.0

バージョン 3.3.0

バージョン 3.2.1

バージョン 3.2.0

バージョン 3.1.0

バージョン 3.0.1

バージョン 3.0.0

バージョン 2.7.2

バージョン 2.7.1

バージョン 2.7.0

バージョン 2.6.0

バージョン 2.5.1

バージョン 2.5.0

バージョン 2.4.7

バージョン 2.4.6

バージョン 2.4.5

バージョン 2.4.4

バージョン 2.4.3

バージョン 2.4.2

バージョン 2.4.1

バージョン 2.4.0

バージョン 2.3.0

バージョン 2.2.0

バージョン 2.1.0

  • Unity Ads Android アダプタ バージョン 3.1.0.0 をサポートしています。
  • Unity Ads iOS アダプタ バージョン 3.1.0.0 をサポートしています。

バージョン 2.0.3

  • 新しいオープンベータ版の Rewarded API をサポートするようにプラグインを更新しました。
  • バナー広告のサポートを追加しました。
  • Unity Ads Android アダプタ バージョン 3.0.0.2 をサポートしています。
  • Unity Ads iOS アダプタ バージョン 3.0.0.3 をサポートしています。

バージョン 2.0.2

  • Unity Ads Android アダプタ バージョン 3.0.0.0 をサポートしています。
  • Unity Ads iOS アダプタ バージョン 3.0.0.1 をサポートしています。

バージョン 2.0.1

  • iOS 向けにビルドする際に問題を引き起こしていた「互換性のない型」エラーを修正しました。

バージョン 2.0.0

  • Unity Ads Android アダプタ バージョン 3.0.0.0 をサポートしています。
  • Unity Ads iOS アダプタ バージョン 3.0.0.0 をサポートしています。

バージョン 1.2.0

  • Unity Ads Android アダプタ バージョン 2.3.0.0 をサポートしています。
  • Unity Ads iOS アダプタ バージョン 2.3.0.0 をサポートしています。

バージョン 1.1.3

  • Unity Ads Android アダプタ バージョン 2.2.1.0 をサポートします。
  • Unity Ads iOS アダプタ バージョン 2.2.1.0 をサポートしています。

バージョン 1.1.2

  • Unity Ads Android SDK バージョン 2.2.0 をサポートします。
  • Unity Ads iOS SDK バージョン 2.2.0 をサポートしています。
  • ターゲティング広告のユーザー オプトインを手動でリクエストする UnityAds.SetGdprConsentMetaData() メソッドを追加しました。

バージョン 1.1.1

  • Unity Ads Android SDK バージョン 2.2.0 をサポートします。
  • Unity Ads iOS SDK バージョン 2.2.1 をサポートします。

バージョン 1.1.0

  • Unity Ads Android SDK バージョン 2.2.0 をサポートします。
  • Unity Ads iOS SDK バージョン 2.2.0 をサポートしています。

バージョン 1.0.0

  • 初回リリース!
  • Unity Ads Android SDK バージョン 2.1.2 をサポートします。
  • Unity Ads iOS SDK バージョン 2.1.2 をサポートします。