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

このガイドでは、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 に登録するか、ログインします。

プロジェクトを作成する

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 のデマンドを設定する

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

Android

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

iOS

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

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 にプライバシー設定を実装する

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 のプライバシーの同意とデータ APIGDPR への準拠のガイドをご覧ください。

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

米国の州のプライバシー法では、ユーザーが「個人情報」の「販売」を拒否する権利を保障することが求められています(用語は法律の定義に基づく)。「販売者」のホームページにある「個人情報を販売しない」リンクから販売を拒否することができます。米国のプライバシー関連州法遵守ガイドでは、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

  • Google Mobile Ads Flutter プラグイン バージョン 6.0.0 でビルドおよびテスト済み。

バージョン 1.5.1

  • Google Mobile Ads Flutter プラグイン バージョン 6.0.0 でビルドおよびテスト済み。

バージョン 1.5.0

  • Google Mobile Ads Flutter プラグイン バージョン 6.0.0 でビルドおよびテスト済み。

バージョン 1.4.1

  • Google Mobile Ads Flutter プラグイン バージョン 6.0.0 でビルドおよびテスト済み。

バージョン 1.4.0

  • Google Mobile Ads Flutter プラグイン バージョン 6.0.0 でビルドおよびテスト済み。

バージョン 1.3.0

  • Google Mobile Ads Flutter プラグイン バージョン 5.3.1 でビルドおよびテストされています。

バージョン 1.2.0

  • Google Mobile Ads Flutter プラグイン バージョン 5.3.1 でビルドおよびテストされています。

バージョン 1.1.0

  • Google Mobile Ads Flutter プラグイン バージョン 5.2.0 でビルドおよびテスト済み。

バージョン 1.0.0

  • Google Mobile Ads Flutter プラグイン バージョン 5.0.0 でビルドおよびテスト済み。