Google Mobile Ads Unity プラグインを設定する

Google Mobile Ads Unity プラグインを使うと、Unity デベロッパーは、Java や Objective-C コードを記述することなく、Android と iOS アプリで Google モバイル広告を配信できます。このプラグインにより、Unity プロジェクトの C# スクリプトで使用される、広告をリクエストするための C# インターフェースが利用可能になります。

このガイドは、Unity アプリの収益化をお望みのパブリッシャー様を対象にしています。

前提条件

  • Unity Editor 2019.4 以降を使用していること
    • 推奨: 2022.2 以降
  • iOS にデプロイするには
    • Xcode 16.0 以降
    • iOS 13.0 以降をターゲットとしていること
    • CocoaPods
  • Android にデプロイする場合:
    • 最小 Android API レベル 24 以上が必要
    • Android API レベル 35 以上をターゲットとしていること

Android API レベルは、[Project Settings] > [Player] > [Android] > [Other Settings] > [Other Settings] で設定します。

Mobile Ads for Unity プラグインをインポートする

OpenUPM-CLI

OpenUPM CLI がインストールされている場合は、次のコマンドで OpenUPM レジストリをインストールできます。

openupm add com.google.ads.mobile

.unitypackage プラグイン アセットを削除する

.unitypackage を使用する方法から OpenUPM を使用する方法に移行する場合は、古い場所からアセットを手動でアンインストールする必要があります。.unitypackage からインポートされた次のディレクトリを削除します。

  • Assets/ExternalDependencyManager
  • Assets/GoogleMobileAds
  • Assets/Plugins/Android/googlemobileads-unity.aar
  • Assets/Plugins/Android/GoogleMobileAdsPlugin
  • Assets/Plugins/iOS/GADUAdNetworkExtras
  • Assets/Plugins/iOS/unity-plugin-library.a

管理画面で OpenUPM を設定する

  1. Unity のメニュー オプション [Edit](編集)> [Project Settings](プロジェクト設定)> [Package Manager] を選択して、Package Manager の設定画面を開きます。
  2. OpenUPM をスコープ付きレジストリとして [Package Manager] ウィンドウに追加します。

    Name: OpenUPM
    URL: https://package.openupm.com
    Scopes: com.google
    
  3. Unity のメニュー オプション [Window](ウィンドウ)> [Package Manager] を選択して、Package Manager メニューを開きます。

  4. マネージャー スコープのプルダウンで [My Registries](マイレジストリ)を選択します。

  5. パッケージ リストから [Google Mobile Ads for Unity] パッケージを選択し、[Install](インストール)を押します。

.unitypackage プラグイン アセットを削除する

.unitypackage を使用する方法から OpenUPM を使用する方法に移行する場合は、古い場所からアセットを手動でアンインストールする必要があります。.unitypackage からインポートされた次のディレクトリを削除します。

  • Assets/ExternalDependencyManager
  • Assets/GoogleMobileAds
  • Assets/Plugins/Android/googlemobileads-unity.aar
  • Assets/Plugins/Android/GoogleMobileAdsPlugin
  • Assets/Plugins/iOS/GADUAdNetworkExtras
  • Assets/Plugins/iOS/unity-plugin-library.a

OpenUPM

  1. 最新リリースのバージョン タグを取得します。返されたタグ(v 接頭辞を除く)が Google Mobile Ads Unity Plugin のバージョンです。

    • macOS と Linux

      curl -sS https://api.github.com/repos/googleads/googleads-mobile-unity/releases/latest | jq -r '.tag_name'
    • Windows PowerShell

      (Invoke-RestMethod -Uri "https://api.github.com/repos/googleads/googleads-mobile-unity/releases/latest").tag_name
      
  2. 前述のコマンドで取得したバージョンを使用して、OpenUPM のスコープ付きレジストリと依存関係を追加するように Packages/manifest.json ファイルを変更します。

    {
      "scopedRegistries": [
        {
          "name": "google",
          "url": "https://package.openupm.com",
          "scopes": [
            "com.google"
          ]
        }
      ],
      "dependencies": {
        "com.google.ads.mobile": "11.6.0"
      }
    }
    

.unitypackage プラグイン アセットを削除する

.unitypackage を使用する方法から OpenUPM を使用する方法に移行する場合は、古い場所からアセットを手動でアンインストールする必要があります。.unitypackage からインポートされた次のディレクトリを削除します。

  • Assets/ExternalDependencyManager
  • Assets/GoogleMobileAds
  • Assets/Plugins/Android/googlemobileads-unity.aar
  • Assets/Plugins/Android/GoogleMobileAdsPlugin
  • Assets/Plugins/iOS/GADUAdNetworkExtras
  • Assets/Plugins/iOS/unity-plugin-library.a

GitHub からインポートする

  1. GitHub から .unitypackage リリースをダウンロードします。
  2. Unity メニュー オプションの [Assets](アセット)> [Import Package](パッケージをインポート)> [Custom Package](カスタム パッケージ)を選択し、すべてのアイテムをインポートして、.unitypackage ファイルをインポートします。

省略可: External Dependency Manager を無効にする

独自のビルドツールで Android ライブラリと iOS ライブラリを管理している場合は、com.unity.external-dependency-manager パッケージを無効にできます。

Unity Editor で、[Window](ウィンドウ) > [Package Manager] を選択し、External Dependency Manager(com.unity.external-dependency-manager)パッケージを削除します。このパッケージを削除すると、[Assets](アセット)> [Google Mobile Ads](Google モバイル広告)> [Settings](設定)の [Enable External Dependency Manager](External Dependency Manager を有効にする)がオフになります。

以前の External Dependency Manager をインストールする

プロジェクトで Unity 2022.2 以前を使用している場合は、Unity のパッケージを無効にした後、Google の以前の com.google.external-dependency-manager パッケージをインストールできます。

  • External Dependency Manager for Unity のリリース ページから最新の .unitypackage ファイルをダウンロードし、[Assets](アセット)> [Import Package](パッケージをインポート)> [Custom Package](カスタム パッケージ)を選択します。
  • 次の OpenUPM CLI コマンドを実行します。

    openupm add com.google.external-dependency-manager

ネイティブ依存関係を手動で構成する

External Dependency Manager パッケージを使用しない場合は、Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml ファイルと Assets/GoogleMobileAds/Editor/GoogleUmpDependencies.xml ファイルから必要なライブラリをビルドファイルに追加します。

  • Android の場合は、[Edit](編集)> [Project Settings](プロジェクト設定)> [Player](プレーヤー)> [Android] > [Publishing Settings](公開設定)> [Build](ビルド)を選択し、[Custom Main Gradle Template] を有効にします。GoogleMobileAdsDependencies.xml ファイルと GoogleUmpDependencies.xml ファイルから必要なライブラリを Assets/Plugins/Android/mainTemplate.gradle ファイルの dependencies ブロックに追加します。

    implementation 'com.google.android.gms:play-services-ads:25.5.0'
    implementation 'com.google.android.ump:user-messaging-platform:4.0.0'
    

    また、GoogleMobileAdsDependencies.xml ファイルのバージョンを使用して、androidx.constraintlayout:constraintlayout、androidx.lifecycle:lifecycle-process、androidx.fragment:fragment パッケージを追加します。

  • iOS の場合は、Xcode プロジェクトをエクスポートします。エクスポートしたプロジェクト フォルダの Podfile ファイルに、GoogleMobileAdsDependencies.xml ファイルと GoogleUmpDependencies.xml ファイルから必要な Pod を追加します。

    pod 'Google-Mobile-Ads-SDK', '~> 13.11.0'
    pod 'GoogleUserMessagingPlatform', '3.1.0'
    

    次に、エクスポートした iOS プロジェクト フォルダで次のコマンドを実行します。

    pod install --repo-update

アド マネージャー アプリ ID を設定する

Unity エディタのメニューで [Assets] > [Google Mobile Ads] > [Settings] を選択します。

Android と iOS の アド マネージャー アプリ ID を各欄に入力します。

Google Mobile Ads Unity Plugin は、これらの設定をテキストとして Assets/GoogleMobileAds/Resources/GoogleMobileAdsSettings.asset 構成ファイルに保存します。

SDK を初期化する

広告を読み込む前に MobileAds.Initialize() を呼び出して、アプリで Google Mobile Ads Unity Plugin を初期化します。この処理は 1 回だけ行います(アプリの起動時に行うのが理想的です)。

MobileAds.Initialize() を呼び出す方法の例を次に示します。

MobileAds.Initialize((InitializationStatus initstatus) =>
{
    if (initstatus == null)
    {
        Debug.LogError("Google Mobile Ads initialization failed.");
        return;
    }

    Debug.Log("Google Mobile Ads initialization complete.");

    MobileAdsEventExecutor.ExecuteInUpdate(() =>
    {
        // Interact with UnityEngine objects on the main thread here.
    });
});

メインスレッドで Unity オブジェクトを操作する

Google Mobile Ads Unity Plugin は、バックグラウンド スレッドで広告イベントを発生させます。広告コールバックが UnityEngine などの Unity オブジェクトを操作する場合は、MobileAdsEventExecutor.ExecuteInUpdate メソッドを使用して、Unity メインスレッドでのその作業を明示的にスケジュールします。実装の詳細については、Unity のメインスレッドで広告イベントを発生させるをご覧ください。

広告フォーマットを選択する

これで、Android または iOS プラットフォームへの Unity アプリのデプロイ時に Google Mobile Ads Unity Plugin が含まれるようになり、広告を実装する準備が整いました。AdMob ではさまざまな広告フォーマットが用意されており、ユーザー エクスペリエンスに最適なものを選択できます。

バナー広告ユニットは、アプリのレイアウトの一部に表示される長方形の広告です。設定した時間が経過すると自動的に更新されます。そのため、アプリで同じ画面を表示していても、ユーザーには定期的に新しい広告が表示されます。また、バナー広告は最も簡単に実装できる広告フォーマットでもあります。

バナー広告を実装

インタースティシャル

インタースティシャル広告ユニットでは、アプリに全画面広告が表示されます。この広告ユニットは、アプリの流れが自然に途切れるタイミングや画面の切り替え時(ゲームアプリでレベルをクリアした後など)に配置します。

インタースティシャル広告を実装

ネイティブ

ネイティブ広告では、広告見出しや行動を促すフレーズなどのアセットをアプリに表示する方法を自由にカスタマイズできます。広告のスタイルを自分で設定することで、コンテンツの邪魔にならないように広告を表示でき、ユーザー エクスペリエンスの向上につながります。

ネイティブ広告を実装

リワード

リワード広告ユニットを使用すると、ユーザーの行動(ゲームのプレイ、アンケートへの回答、動画の視聴など)に応じて、コインや追加ライフ、ポイントなどのアプリ内アイテムを報酬として付与できます。広告ユニットごとに異なる報酬を設定し、報酬の値やユーザーが受け取るアイテムを指定できます。

リワード広告を実装する