Google Mobile Ads Unity プラグインを使うと、Unity デベロッパーは、Java や Objective-C コードを記述することなく、Android と iOS アプリで Google モバイル広告を配信できます。このプラグインにより、Unity プロジェクトの C# スクリプトで使用される、広告をリクエストするための C# インターフェースが利用可能になります。
このガイドは、Unity アプリの収益化をお望みのパブリッシャー様を対象にしています。
前提条件
- Unity Editor 2019.4 以降を使用していること
- iOS にデプロイする場合
- Xcode 16.0 以降
- iOS 12.0 以降をターゲットとしていること
- CocoaPods
- Android にデプロイする場合:
- 最小 Android API レベル 23 以上
- Android API レベル 34 以上をターゲットとしていること
- 推奨: AdMob アカウントを作成し、Android または iOS アプリを登録していること
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
- Unity のメニュー オプション [Edit](編集)> [Project Settings](プロジェクト設定)> [Package Manager] を選択して、Package Manager の設定画面を開きます。
OpenUPM をスコープ付きレジストリとして [Package Manager] ウィンドウに追加します。
Name: OpenUPM URL: https://package.openupm.com Scopes: com.google
Unity のメニュー オプション [Window](ウィンドウ)> [Package Manager] を選択して、Package Manager メニューを開きます。
マネージャー スコープのプルダウンで [My Registries](マイレジストリ)を選択します。
パッケージ リストから [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
GitHub からインポートする
- GitHub から最新の
.unitypackage
リリースをダウンロードします。 - Unity メニュー オプションの [Assets](アセット)> [Import Package](パッケージをインポート)> [Custom Package](カスタム パッケージ)を選択し、すべてのアイテムをインポートして、
.unitypackage
ファイルをインポートします。
外部依存関係を含める
Google Mobile Ads Unity プラグインは、Unity Play Services Resolver ライブラリとともに配布されます。このライブラリは、Android 固有のライブラリ(AAR など)または iOS CocoaPod にアクセスする必要がある Unity プラグインで使用するためのものです。これにより Unity プラグインは依存関係を宣言する機能を持つようになります。依存関係は自動的に解決され、Unity プロジェクトにコピーされます。
次の手順に沿って、プロジェクトにすべての依存関係が含まれていることを確認します。
Android
[Project Settings](プロジェクト設定)> [Player](プレーヤー)> [Android] > [Publishing Settings](公開設定)> [Build](ビルド)に移動し、以下を選択します。
- Custom Main Gradle Template
- Custom Gradle Properties Template
Unity エディタで、[Assets](アセット)> [External Dependency Manager] > [Android Resolver](Android リゾルバ)> [Resolve](解決)を選択すると、Unity External Dependency Manager ライブラリにより、宣言された依存関係が Unity アプリの Assets/Plugins/Android
ディレクトリにコピーされます。
iOS
iOS 用 Unity は、CocoaPods を使用して依存関係を特定し、管理します。iOS の依存関係に関する特定の要件やトラブルシューティングの手順については、CocoaPods のドキュメントをご覧ください。
Google Mobile Ads Unity プラグインの依存関係は、Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml
に記載されています。
AdMob アプリケーション ID を設定する
Unity エディタで、メニューから [Assets](アセット)> [Google Mobile Ads] > [Settings](設定)を選択します。
各フィールドに Android と iOS の AdMob アプリケーション ID を入力します。
SDK を初期化する
広告を読み込む前に MobileAds.Initialize()
を呼び出して、アプリで Google Mobile Ads SDK を初期化します。この処理は 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.");
// Google Mobile Ads events are raised off the Unity Main thread. If you need to
// access UnityEngine objects after initialization,
// use MobileAdsEventExecutor.ExecuteInUpdate(). For more information, see:
// https://developers.google.com/admob/unity/global-settings#raise_ad_events_on_the_unity_main_thread
});
メディエーションを使用している場合は、すべてのメディエーション アダプターを確実に初期化できるよう、広告の読み込みはコールバックが発生してから行います。
広告フォーマットを選択する
これで、Android または iOS プラットフォームへの Unity アプリのデプロイ時に Google Mobile Ads SDK が含まれるようになり、広告を実装する準備が整いました。AdMob ではさまざまな広告フォーマットが用意されており、ユーザー エクスペリエンスに最適なものを選択できます。
バナー
バナー広告は、アプリの画面の一部に表示される長方形の広告です。設定した時間が経過すると自動的に更新されます。そのため、アプリで同じ画面を表示していても、ユーザーには定期的に新しい広告が表示されます。また、バナー広告は最も簡単に実装できる広告フォーマットでもあります。
インタースティシャル
インタースティシャル広告ユニットでは、アプリに全画面広告が表示されます。この広告ユニットは、アプリの流れが自然に途切れるタイミングや画面の切り替え時(ゲームアプリでレベルをクリアした後など)に配置します。
ネイティブ
ネイティブ広告では、広告見出しや行動を促すフレーズなどのアセットをアプリに表示する方法を自由にカスタマイズできます。広告のスタイルを自分で設定することで、コンテンツの邪魔にならないように広告を表示でき、ユーザー エクスペリエンスの向上につながります。
リワード
リワード広告ユニットを使用すると、ユーザーの行動(ゲームのプレイ、アンケートへの回答、動画の視聴など)に応じて、コインや追加ライフ、ポイントなどのアプリ内報酬を付与できます。広告ユニットごとに異なる報酬を設定し、報酬の値やユーザーが受け取るアイテムを指定できます。
リワード インタースティシャル
リワード インタースティシャルは、アプリの画面が変わる自然なタイミングで自動的に表示される広告に対して報酬(例: コイン、追加ライフ)を提供できる、新しいタイプのインセンティブ広告フォーマットです。
リワード広告とは異なり、ユーザーはリワード インタースティシャルを表示するためにオプトインする必要はありません。
リワード広告のオプトイン プロンプトの代わりに、リワード インタースティシャルでは、報酬について通知し、ユーザーが希望する場合にはオプトアウトできる選択肢を提示する導入画面が必要です。
アプリ起動
アプリ起動時広告は、ユーザーがアプリを開いた際やアプリに切り替えた際に表示される広告フォーマットです。広告は読み込み画面に重ねて表示されます。