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

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

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

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

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

要件

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

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

Unity Ads に登録またはログインします。

プロジェクトを作成する

Unity 広告ダッシュボードで [プロジェクト] に移動し、[プロジェクトを作成] をクリックします。

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

[収益化] > [使ってみる] に移動し、[始める] をクリックします。

[Project Setup] モーダルで、[Mediation Partner] に [I plan to use Mediation] と [Google AdMob] を選択し、[Next] をクリックします。

広告設定を選択し、[次へ] をクリックします。

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

[ゲーム ID] をメモします。

広告ユニットを作成する

[収益化] > [広告ユニット] に移動し、[広告ユニットを追加] をクリックします。

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

Android

iOS

最後に、[作成] をクリックして広告ユニットを保存します。

プレースメントを追加

プロジェクトが作成されたら、[収益化] > [プレースメント] に移動します。新しいプレースメントを作成するには、広告ユニットの [プレースメントを追加] をクリックします。

必要な情報を入力して [Add Placement] をクリックします。

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

Android

iOS

認証情報を取得する

ゲーム IDプレースメント ID のほかに、AdMob 広告ユニット ID を設定するための Unity Ads API キー組織コア ID も必要です。

[Monetization] > [Setup] > [API Management] に移動し、[Monetization Stats API Access Key] をメモします。

次に、[収益化] > [Organization Settings] に移動し、Organization core ID をメモします。

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

テストモードは Unity 広告ダッシュボードから有効にできます。プロジェクトの設定で、[テスト] タブを選択します。

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

Android

iOS

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

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

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

広告ユニットのメディエーション設定を行う

Android

手順については、 Android 向けガイドのステップ 2 をご覧ください。

iOS

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

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

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

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

pub.dev による統合

パッケージの pubspec.yaml ファイルに、Unity Ads SDK とアダプタの最新バージョンとともに次の依存関係を追加します。

dependencies:
  gma_mediation_unity: ^1.0.0

手動統合

Unity Ads の Google モバイル広告メディエーション プラグインの最新バージョンをダウンロードし、ダウンロードしたファイルを抽出し、抽出したプラグイン フォルダ(とその内容)を Flutter プロジェクトに追加します。次に、pubspec.yaml ファイルで次の依存関係を追加して、プラグインを参照します。

dependencies:
  gma_mediation_unity:
    path: path/to/local/package

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

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

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

import 'package:gma_mediation_unity/gma_mediation_unity.dart';
// ...

GmaMediationUnity.setGDPRConsent(true);

各メソッドで指定可能な値と詳細については、Unity Ads の Privacy Consent and Data APIGDPR への準拠ガイドをご覧ください。

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

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

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

import 'package:gma_mediation_unity/gma_mediation_unity.dart';
// ...

GmaMediationUnity.setCCPAConsent(true);

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

Android

Unity Ads Android との統合にコードを追加する必要はありません。

iOS

SKAdNetwork との統合

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

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

テスト広告を有効にする

AdMob にテストデバイスを登録し、 Unity Ads UI でテストモードを有効にします。

テスト広告を確認する

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

エラーコード

アダプタが 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 が ERROR ステータスで終了しました。
200-204 UnityAds に特定のエラーが表示されるようになりました。詳しくは、コードをご覧ください。

iOS

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

Unity Ads の Flutter メディエーション アダプタに関する変更履歴

バージョン 1.0.0

  • 初回リリース。
  • Unity Android アダプタ バージョン 4.10.0.0 との互換性を検証済み
  • Unity iOS アダプタ バージョン 4.10.0.0 との互換性を確認