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

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

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

Unity 広告にお申し込みまたはログインしてください。

プロジェクトを作成する

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

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

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

[プロジェクトの設定] モーダルで、[メディエーションを使用します] を選択し、[メディエーション パートナー] に [Google Admob] を選択し、[次へ] をクリックします。

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

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

ゲーム ID をメモしておきます。

広告ユニットを作成する

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

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

Android

iOS

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

プレースメントを追加する

単価設定

入札プレースメントを作成するには、Google アカウント マネージャーにお問い合わせください。

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

必要な情報を入力して [プレースメントを追加] をクリックします。

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

Android

iOS

Unity Ads Reporting API キーを確認する

単価設定

この手順は、入札の統合では必要ありません。

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

[収益化] > [設定] > [API 管理] に移動し、[収益化統計情報 API アクセスキー] をメモします。

次に、[収益化] > [組織の設定] に移動し、組織のコア ID をメモします。

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

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

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

Android

iOS

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

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

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

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

Android

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

iOS

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

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

GDPR の設定米国の州規制の設定の手順に沿って、AdMob 管理画面の GDPR と米国の州規制の広告パートナー リストに Unity Ads を追加します。

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

pub.dev による統合

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

dependencies:
  gma_mediation_unity: ^1.0.0

手動による統合

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

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

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

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

Unity 広告用の 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 APIs および 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 広告からテスト広告を受信していることを確認するには、Unity 広告(入札)と Unity 広告(ウォーターフォール)の広告ソースを使用して、広告インスペクタで単一広告ソースのテストを有効にします。

エラーコード

アダプターが 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 広告からの広告の初期化、読み込み、表示に使用されるコンテキストは、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 を使って作成、テストしています。