このガイドでは、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 広告のデマンドを設定する
広告ユニットのメディエーション設定を行う
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 にプライバシー設定を実装する
EU ユーザーの同意と GDPR
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 API と GDPR への準拠ガイドをご覧ください。
米国のプライバシー関連州法
米国のプライバシー関連州法 「個人情報」の「販売」は、法律で定められているとおり、オプトアウトする権利をユーザーに提供することが義務付けられています。オプトアウトするには、「販売」当事者のホームページに目立つ [個人情報を第三者に売却しない] リンクがあります。米国のプライバシー関連州法の遵守ガイドでは、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 との互換性を確認