このガイドでは、Google Mobile Ads SDK を使用して、ウォーターフォール統合をカバーするメディエーションを使用して Unity Ads から広告を読み込んで表示する方法について説明します。広告ユニットのメディエーション設定に Unity Ads を追加する方法と、Unity Ads SDK とアダプターをアプリに統合する方法について説明します。 Flutter
サポートされている統合と広告フォーマット
AdMob Unity Ads のメディエーション アダプタには、次の機能があります。
統合 | |
---|---|
単価設定 | 1 |
滝 | |
フォーマット | |
バナー | |
インタースティシャル | |
特典 |
1 入札の統合はクローズド ベータ版です。アクセス権をリクエストするには、アカウント マネージャーにお問い合わせください。
要件
- 最新の Google Mobile Ads SDK
- Flutter 3.7.0 以降
- [入札の場合]: サポートされているすべての広告フォーマットを入札に統合するには、Unity Ads 用 Google Mobile Ads メディエーション プラグイン 3.11.1 以降(最新バージョンを推奨)を使用します。
- Android にデプロイする場合:
- Android API レベル 21 以降
- iOS にデプロイするには
- iOS デプロイ ターゲットが 12.0 以降
- Google Mobile Ads SDK で構成された動作する Flutter プロジェクト。詳細については、スタートガイドをご覧ください。
- メディエーションのスタートガイドを完了していること
ステップ 1: Unity Ads UI で設定を行う
Unity Ads に登録またはログインします。
プロジェクトを作成する
Unity Ads ダッシュボードで [プロジェクト] に移動し、[プロジェクトを作成] をクリックします。
フォームに入力し、[Create Project] をクリックしてプロジェクトを追加します。
[収益化] > [使ってみる] に移動し、[使ってみる] をクリックします。
[プロジェクトの設定] モーダルで、[メディエーションを使用します] を選択し、[メディエーション パートナー] に [Google Admob] を選択し、[次へ] をクリックします。
広告設定を選択して、[次へ] をクリックします。
フォームに記入して [プロジェクトを追加] をクリックします。
ゲーム ID をメモします。
広告ユニットを作成する
[収益化] > [広告ユニット] に移動し、[広告ユニットを追加] をクリックします。
[広告ユニット名] を入力し、[プラットフォーム] と [広告フォーマット] を選択します。
Android
iOS
最後に、[作成] をクリックして広告ユニットを保存します。
プレースメントを追加する
単価設定
入札プレースメントを作成するには、Google アカウント マネージャーにお問い合わせください。
滝
プロジェクトが作成されたら、[収益化] > [プレースメント] に移動します。新しいプレースメントを作成するには、広告ユニットの [プレースメントを追加] をクリックします。
必要な情報を入力して [プレースメントを追加] をクリックします。
プレースメント ID をメモしておきます。
Android
iOS
Unity Ads Reporting API キーを確認する
単価設定
この手順は、入札の統合では必要ありません。
滝
AdMob 広告ユニット ID を設定するには、ゲーム ID とプレースメント ID に加えて、Unity Ads の API Key と Organization core ID も必要です。
[収益化] > [設定] > [API 管理] に移動し、[収益化統計情報 API アクセスキー] をメモします。
次に、[収益化] > [組織の設定] に移動し、組織のコア ID をメモします。
テストモードをオンにする
テストモードは、Unity Ads ダッシュボードで有効にできます。プロジェクトの設定で [テスト] タブを選択します。
アプリのテストモードを強制的に有効にするには、各プラットフォームの編集ボタンをクリックし、[クライアントのテストモードをオーバーライド] をオンにして、[すべてのデバイスでテストモードを強制的にオンにする(テスト広告を使用する)] を選択します。
Android
iOS
または、[テストデバイスを追加] ボタンをクリックして、特定のデバイスでテストモードを有効にすることもできます。
フォームに記入して [保存] をクリックします。
ステップ 2: AdMob UI で Unity Ads のデマンドを設定する
広告ユニットのメディエーション設定を構成する
GDPR と米国の州規制の広告パートナー リストに Unity Ads を追加
GDPR 設定と米国の州規制の設定の手順に沿って、AdMob 管理画面の GDPR と米国の州規制の広告パートナー リストに Unity Ads を追加します。
ステップ 3: Unity Ads SDK とアダプタをインポートする
ステップ 4: Unity Ads SDK にプライバシー設定を実装する
EU の同意と GDPR
Google の EU ユーザーの同意ポリシーに基づき、デバイス ID と個人データの使用について、欧州経済領域(EEA)のユーザーに対して特定の情報を開示し、同意を得る必要があります。このポリシーには、EU の e プライバシー指令と一般データ保護規則(GDPR)の要件が反映されています。同意を求める際は、メディエーション チェーン内の個人データを収集、受領、または使用する可能性がある各広告ネットワークを特定し、各ネットワークの使用に関する情報を提供する必要があります。現在のところ、Google はユーザーの同意に関する選択を自動的にこのようなネットワークに渡すことはできません。
Unity Ads 用の Google Mobile Ads メディエーション プラグインには、
GmaMediationUnity.setGDPRConsent()
メソッドが含まれています。次のサンプルコードは、同意情報を Unity Ads SDK に渡す方法を示しています。このメソッドを呼び出す場合は、Google Mobile Ads SDK で広告をリクエストする前に呼び出すことをおすすめします。
import 'package:gma_mediation_unity/gma_mediation_unity.dart';
// ...
GmaMediationUnity.setGDPRConsent(true);
各メソッドで指定できる値の詳細については、Unity Ads のプライバシー同意とデータ API ガイドと GDPR への準拠ガイドをご覧ください。
米国のプライバシー関連州法
米国の州のプライバシー法 は、ユーザーに「個人情報」の「販売」を拒否する権利を保障する法律で、「販売者」パーティのホームページにある「個人情報を販売しない」リンクから販売を拒否することができます。米国の州のプライバシー関連法の遵守ガイドでは、Google 広告配信で制限付きデータ処理を有効にできますが、Google はメディエーション チェーン内の各広告ネットワークにこの設定を適用することはできません。そのため、個人情報の販売に関与する可能性があるメディエーション チェーンの各広告ネットワークを特定し、各ネットワークのガイダンスに沿ってコンプライアンスを確保する必要があります。
Unity Ads 用の Google Mobile Ads メディエーション プラグインには、
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 Ads のドキュメントに沿って、SKAdNetwork ID をプロジェクトの Info.plist
ファイルに追加します。
ステップ 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 UI で設定された UnityAds サーバー パラメータが存在しないか、無効です。 |
102 | UnityAds から NO_FILL ステータスのプレースメントが返されました。 |
103 | UnityAds から、ステータスが無効のプレースメントが返されました。 |
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 UI で設定された UnityAds サーバー パラメータが存在しないか、無効です。 |
102 | UnityAds でサポートされていないデバイス。 |
103 | UnityAds がエラー状態 kUnityAdsFinishStateError で表示を終了しました。 |
104 | 初期化呼び出し後に Unity 広告オブジェクトが nil になる。 |
105 | 広告の準備ができていないために、Unity Ads を表示できませんでした。 |
106 | UnityAds が、プレースメントの状態が kUnityAdsPlacementStateNoFill のプレースメント変更コールバックを呼び出しました。 |
107 | UnityAds が、プレースメントの状態が kUnityAdsPlacementStateDisabled のプレースメント変更コールバックを呼び出しました。 |
108 | このプレースメントにはすでに広告が読み込まれています。UnityAds SDK では、同じプレースメントに複数の広告を読み込むことはできません。 |
Unity Ads Flutter メディエーション アダプタの変更履歴
バージョン 1.1.0
- Unity Android アダプター バージョン 4.12.3.0 との互換性を確認しました
- Unity iOS アダプター バージョン 4.12.3.1 との互換性を確認しました
- Google Mobile Ads Flutter プラグイン バージョン 5.2.0 でビルド、テスト済み。
バージョン 1.0.0
- 初回リリース。
- Unity Android アダプター バージョン 4.10.0.0 との互換性を確認しました
- Unity iOS アダプター バージョン 4.10.0.0 との互換性を確認しました
- Google Mobile Ads Flutter プラグイン バージョン 5.0.0 でビルド、テスト済み。