このガイドでは、Google Mobile Ads SDK でメディエーションを使用して Unity Ads の広告を読み込んで表示する方法を説明します。ウォーターフォールの統合についても説明します。また、広告ユニットのメディエーション設定に Unity Ads を追加する方法と、Unity Ads SDK とアダプタを Flutter アプリに統合する方法についても取り上げます。
サポートされている統合と広告フォーマット
Unity Ads 用のアド マネージャー メディエーション アダプタには、次の機能があります。
統合 | |
---|---|
入札単価 | 1 |
ウォーターフォール | |
フォーマット | |
バナー | |
インタースティシャル | |
特典 |
1 入札の統合はオープン ベータ版です。
要件
- Google Mobile Ads SDK のバージョンが最新であること
- Flutter 3.7.0 以降
- [入札の場合]: 入札でサポートされているすべての広告フォーマットを統合するには、Unity Ads 用 Google Mobile Ads メディエーション プラグイン 1.1.0 以降(最新バージョンを推奨)を使用します。
- Android にデプロイするには
- Android API レベル 23 以上
- iOS にデプロイするには
- iOS のデプロイ対象のバージョンが 12.0 以降であること
- Google Mobile Ads SDK で構成された動作中の Flutter プロジェクト。詳しくは、スタートガイドをご覧ください。
- メディエーションのスタートガイドの手順を完了していること
ステップ 1: 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
[収益化] > [プレースメント] に移動し、[広告ユニットを追加] をクリックします。
[広告ユニット名] を入力し、[プラットフォーム] と [広告フォーマット] を選択します。
Android
iOS
[設定] で [ウォーターフォール] を選択します。[プレースメント] で、[プレースメント名]、[位置情報タグ]、[ターゲット] を入力します。
プレースメント 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: アド マネージャーの管理画面で Unity Ads のデマンドを設定する
広告ユニットのメディエーション設定を構成する
GDPR と米国の州規制の広告パートナー リストに Unity Ads を追加する
欧州の規制に関する設定と米国の州の規制に関する設定の手順に沿って、アド マネージャーの管理画面で欧州および米国の州の規制に関する広告パートナーのリストに Unity Ads を追加します。
ステップ 3: Unity Ads の SDK とアダプタをインポートする
pub.dev を介した統合
パッケージの pubspec.yaml
ファイルに、Unity Ads SDK とアダプタの最新バージョンを含む次の依存関係を追加します。
dependencies:
gma_mediation_unity: ^
手動による統合
Unity Ads 用の Google モバイル広告メディエーション プラグインの最新バージョンをダウンロードし、ダウンロードしたファイルを解凍して、解凍したプラグイン フォルダ(およびそのコンテンツ)を Flutter プロジェクトに追加します。次に、次の依存関係を追加して、pubspec.yaml
ファイルでプラグインを参照します。
dependencies:
gma_mediation_unity:
path: path/to/local/package
ステップ 4: Unity Ads SDK にプライバシー設定を実装する
EU の同意に関する規制と GDPR
Google の EU ユーザーの同意ポリシーに準拠するには、欧州経済領域(EEA)、英国、スイスのユーザーに対して特定の情報を開示し、法律で義務付けられている場合は、Cookie やその他のローカル ストレージの使用、広告のパーソナライズを目的とした個人データの収集、共有、使用についてユーザーの同意を得る必要があります。このポリシーには、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 のドキュメントに沿って、プロジェクトの Info.plist
ファイルに SKAdNetwork 識別子を追加します。
ステップ 6: 実装をテストする
テスト広告を有効にする
アド マネージャー用のテストデバイスを登録し、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 | アド マネージャー UI で設定された 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 Flutter メディエーション アダプタの変更履歴
バージョン 1.6.1(開発中)
バージョン 1.6.0
- iOS の最小バージョンが 13.0 になりました。
- Unity Android アダプタ バージョン 4.16.0.0 をサポートしています。
- Unity iOS アダプター バージョン 4.16.0.0 をサポートしています。
- Google Mobile Ads Flutter プラグイン バージョン 6.0.0 でビルドおよびテスト済み。
バージョン 1.5.1
- Unity Android アダプタ バージョン 4.15.1.0 をサポートします。
- Unity iOS アダプター バージョン 4.15.1.0 をサポートしています。
- Google Mobile Ads Flutter プラグイン バージョン 6.0.0 でビルドおよびテスト済み。
バージョン 1.5.0
- Unity Android アダプタ バージョン 4.15.0.0 をサポートします。
- Unity iOS アダプター バージョン 4.15.0.0 をサポートしています。
- Google Mobile Ads Flutter プラグイン バージョン 6.0.0 でビルドおよびテスト済み。
バージョン 1.4.1
- Unity Android アダプタ バージョン 4.14.2.0 をサポートしています。
- Unity iOS アダプター バージョン 4.14.2.0 をサポートしています。
- Google Mobile Ads Flutter プラグイン バージョン 6.0.0 でビルドおよびテスト済み。
バージョン 1.4.0
- Unity Android アダプタ バージョン 4.14.1.0 をサポートしています。
- Unity iOS アダプタ バージョン 4.14.1.1 をサポートします。
- Google Mobile Ads Flutter プラグイン バージョン 6.0.0 でビルドおよびテスト済み。
バージョン 1.3.0
- Unity Android アダプタ バージョン 4.13.1.0 をサポートしています。
- Unity iOS アダプター バージョン 4.13.1.0 をサポートしています。
- Google Mobile Ads Flutter プラグイン バージョン 5.3.1 でビルドおよびテストされています。
バージョン 1.2.0
- Unity Android アダプタ バージョン 4.13.0.0 をサポートしています。
- Unity iOS アダプター バージョン 4.12.5.0 をサポートしています。
- Google Mobile Ads Flutter プラグイン バージョン 5.3.1 でビルドおよびテストされています。
バージョン 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 でビルドおよびテスト済み。