このガイドは、Unity アプリの収益化をお考えのパブリッシャー様を対象としています。
AdMob 広告を表示して収益を得るための第一歩は、Google Mobile Ads Unity プラグインのアプリへの統合です。統合が完了したら、ネイティブやリワード広告などの広告フォーマットを選択して、詳細な実装手順を確認できます。
前提条件
- Unity 2019.4 以降を使用する
- iOS にデプロイするには
- Xcode 14.1 以降
- iOS 11.0 以降をターゲットとする
- CocoaPods
- Android にデプロイするには
- 最小 Android API レベル 21 以降
- Android API レベル 31 以降を対象とする
Mobile Ads Unity プラグインをダウンロードする
Google Mobile Ads Unity プラグインを使用すると、Unity デベロッパーは Java や Objective-C のコードを記述することなく、Android アプリや iOS アプリで Google モバイル広告を配信できます。このプラグインは、Unity プロジェクトの C# スクリプトで使用される、広告をリクエストするための C# インターフェースを提供します。
以下のリンクから、プラグインの Unity パッケージをダウンロードするか、GitHub でコードをご確認ください。
Mobile Ads Unity プラグインをインポートする
Unity 向け Google Mobile Ads は Unity アセット パッケージで配信されています。パッケージをインポートするには、Unity エディタでプロジェクトを開き、[Assets] > [Import Package] > [Custom Package] を選択し、ダウンロードした GoogleMobileAdsPlugin.unitypackage
ファイルを探します。すべてのファイルが選択されていることを確認して、[Import] をクリックします。
外部依存関係を含める
Google Mobile Ads Unity プラグインは、Unity Play Services Resolver ライブラリとともに配布されます。このライブラリは、Android 固有のライブラリ(AAR や iOS CocoaPods など)へのアクセスを必要とする Unity プラグインで使用されます。Unity プラグインで依存関係を宣言する機能が提供されます。宣言された依存関係は自動的に解決されて Unity プロジェクトにコピーされます。
プロジェクトにすべての依存関係が含まれるようにするには、次の手順を行います。
Android
[プロジェクト設定] > [プレーヤー] > [Android] > [公開設定] > [ビルド] に移動し、次のいずれかを選択します。
- カスタム Main Gradle テンプレート
- カスタム Gradle プロパティ テンプレート
Unity エディタで、[Assets] > [External Dependency Manager] > [Android Resolver] > [Resolve] を選択し、宣言された依存関係を Unity External Dependency Manager ライブラリが Unity アプリの Assets/Plugins/Android
ディレクトリにコピーします。
iOS
Google Mobile Ads SDK を Unity プロジェクトに組み込むために、追加の手順は必要ありません。
- Unity 5.6 以降を使用すると、必要な依存関係ライブラリを含む xcworkspace が生成されます。標準の Xcode プロジェクトではなく、生成された xcworkspace を使用します。
- 以前のバージョンの Unity を使用している場合、依存関係は標準の Xcode プロジェクトに含まれています。
アプリ ID を AdMob 設定
Unity エディタで、メニューから [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 プラットフォームへのデプロイ時に、Google Mobile Ads SDK が Unity アプリに含まれるようになりました。これで広告を実装できるようになりました。AdMob にはさまざまな広告フォーマットが用意されており、最適なユーザー エクスペリエンスを提供するものを選択できます。
バナー
バナー広告ユニットは、アプリのレイアウトの一部を占める長方形の広告が表示されます。一定の時間が経過すると自動的に更新されます。つまり、ユーザーはアプリの同じ画面を離れていても、新しい広告を一定の間隔で表示します。最も簡単に実装できる広告フォーマットでもあります。
インタースティシャル
インタースティシャル広告ユニットは、アプリに全画面広告を表示します。ゲームアプリでレベルをクリアした後など、アプリのインターフェースの自然な切れ目や画面が切り替わるタイミングで表示します。
ネイティブ
ネイティブ広告は、広告見出しや行動を促すフレーズなどのアセットの表示方法をカスタマイズできる広告です。広告のスタイルを自分で設定することで、自然でコンテンツの邪魔にならないように広告を表示し、ユーザー エクスペリエンスを向上させることができます。
特典
リワード広告ユニットを使用すると、ユーザーはゲームをプレイしたり、アンケートに回答したり、動画を視聴したりして、コイン、追加ライフ、ポイントなどのアプリ内報酬を受け取ることができます。広告ユニットごとに異なる報酬を設定し、報酬の値とユーザーが受け取るアイテムを指定できます。
リワード インタースティシャル
リワード インタースティシャルは、アプリの画面が変わる自然なタイミングで自動的に表示される広告に対して、コインや追加ライフなどの報酬を提供できる新しいタイプのインセンティブ広告フォーマットです。
リワード広告とは異なり、ユーザーはリワード インタースティシャルを表示するためにオプトインする必要はありません。
リワード広告のオプトイン メッセージではなく、リワード インタースティシャルでは、報酬を発表するイントロ画面が必要です。このイントロ画面では、ユーザーが希望する場合にオプトアウトの機会を提供します。
アプリの起動
アプリ起動時広告は、ユーザーがアプリを開いたとき、またはアプリに戻ったときに表示される広告フォーマットで、読み込み画面に重ねて表示されます。