Google Mobile Ads Unity プラグインを使用すると、Unity デベロッパーは Java や Objective-C コードを記述することなく、Android アプリや iOS アプリで Google モバイル広告を配信できます。このプラグインには、Unity プロジェクトの C# スクリプトで使用される、広告をリクエストするための C# インターフェースが用意されています。
このガイドは、Unity アプリを収益化したいパブリッシャーを対象としています。
前提条件
- Unity 2019.4 以降を使用します
- iOS にデプロイするには
- Xcode 15.3 以降
- iOS 12.0 以降をターゲットとしていること
- CocoaPods
- Android にデプロイする場合:
- 最小 Android API レベル 21 以降
- ターゲット: Android API レベル 34 以降
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] を選択して、パッケージ管理システムの設定を開きます。
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] パッケージを選択し、[インストール] をクリックします。
.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] に移動し、次のように選択します。
- カスタム メイン Gradle テンプレート
- カスタム Gradle プロパティ テンプレート
Unity Editor で、[Assets](アセット)> [External Dependency Manager](外部依存マネージャー)> [Android Resolver](Android リゾルバ)> [Resolve](解決) を選択して、Unity External Dependency Manager ライブラリにより、宣言された依存関係が Unity アプリの Assets/Plugins/Android
ディレクトリにコピーされるようにします。
iOS
Unity for iOS は CocoaPods を使用して依存関係を特定して管理します。iOS の依存関係に関連する具体的な要件やトラブルシューティングの手順については、CocoaPods のドキュメントをご覧ください。
Google Mobile Ads Unity プラグインの依存関係は、Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml
に記載されています。
アプリ ID の AdMob 設定
Unity Editor で、メニューから [Assets](アセット)> [Google Mobile Ads](Google モバイル広告)> [Settings](設定)を選択します。
Android と iOS の AdMob アプリ ID を各フィールドに入力します。
SDK の初期化
広告を読み込む前に、MobileAds.Initialize()
を呼び出して、アプリで Google Mobile Ads SDK を初期化します。この処理は 1 回だけ行います(アプリの起動時に行うのが理想的です)。
GameObject
に追加されたスクリプトの Start()
メソッド内で Initialize()
を呼び出す方法の例を次に示します。
...
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize(initStatus => { });
}
}
メディエーションを使用している場合は、すべてのメディエーション アダプタが確実に初期化されるように、広告を読み込む前にコールバックが発生するまで待ちます。
広告フォーマットの選択
Android または iOS プラットフォームにデプロイするときに、Unity アプリに Google Mobile Ads SDK が含まれるようになりました。広告を実装する準備が整いました。さまざまな広告フォーマットが用意されている AdMob では、ユーザー エクスペリエンスを最大限に高めることができる広告フォーマットを選択できます。
バナー
バナー広告ユニットには、アプリのレイアウト内の一部分を使用する長方形の広告が表示されます。設定した時間が経過すると自動的に更新されます。そのため、アプリで同じ画面を表示していてもユーザーには定期的に新しい広告が表示されます。また、バナー広告ユニットは最も簡単に実装できる広告フォーマットでもあります。
インタースティシャル
インタースティシャル広告ユニットでは、アプリに全画面広告が表示されます。この広告ユニットは、アプリの流れが自然に途切れるタイミングや画面の切り替え時(ゲームアプリでレベルをクリアした後など)に配置します。
ネイティブ
ネイティブ広告は、広告見出しや行動を促すフレーズなどのアセットをアプリに表示する方法をカスタマイズできる広告です。広告のスタイルをご自身で設定することで、自然で目立たない広告プレゼンテーションを作成して、豊かなユーザー エクスペリエンスを向上させることができます。
特典
リワード広告ユニットを使用すると、ユーザーはゲームをプレイしたり、アンケートに回答したり、動画を視聴したりして、コイン、追加ライフ、ポイントなどのアプリ内報酬を獲得できます。広告ユニットごとに異なる報酬を設定し、ユーザーが受け取る報酬の価値やアイテムを指定できます。
リワード インタースティシャル
リワード インタースティシャルは、アプリの画面が変わる自然なタイミングで自動的に表示される広告に対して報酬(例: コイン、追加ライフ)を提供できる、新しいタイプのインセンティブ広告フォーマットです。
リワード広告とは異なり、ユーザーはリワード インタースティシャルを表示するためにオプトインする必要はありません。
リワード インタースティシャル広告では、リワード広告のオプトイン メッセージの代わりに、報酬を通知するイントロ画面を用意し、ユーザーが必要に応じてオプトアウトできるオプションを提示する必要があります。
アプリ起動
アプリ起動は、ユーザーがアプリを開いたときやアプリに戻ったときに表示される広告フォーマットです。広告は読み込み画面にオーバーレイ表示されます。