スタートガイド

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

AdMob 広告を表示して収益を得るための第一歩は、アプリへの Google Mobile Ads Unity プラグインの追加です。このガイドでは、この追加方法について解説します。プラグインを追加したら、広告フォーマット(ネイティブまたは動画リワードなど)を選択して、具体的な広告の実装手順を確認します。

前提条件

Mobile Ads Unity プラグインをダウンロードする

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

下記のリンクからプラグインの Unity パッケージをダウンロードするか、GitHub のコードをご確認ください。

プラグインをダウンロード ソースを見る

Unity Editor を使用して広告を簡単に組み込むには、新しい広告プレースメント(ベータ版)をお試しください。

モバイル広告の Unity プラグインをインポートする

プロジェクトを Unity Editor で開きます。[Assets](アセット)> [Import Package](インポート パッケージ)> [Custom Package](カスタム パッケージ)を選択し、ダウンロードした GoogleMobileAdsPlugin.unitypackage ファイルを探します。

すべてのファイルのチェックボックスがオンになっていることを確認して、[Import](インポート)をクリックします。

Mobile Ads SDK を追加する

Google Mobile Ads Unity プラグインは、Unity Play Services Resolver ライブラリとともに配布されます。 このライブラリは、Android 固有のライブラリ(AAR など)または iOS CocoaPods にアクセスする必要がある Unity プラグインで使用するためのものです。これにより Unity プラグインは依存関係を宣言する機能を持つようになります。依存関係は自動的に解決され、Unity プロジェクトにコピーされます。

プロジェクトに Mobile Ads SDK が含まれていることを確認する手順は以下のとおりです。

Android

Unity Editor で、[Assets](アセット)> [External Dependency Manager](外部依存マネージャー)> [Android Resolver](Android リゾルバ) > [Resolve](解決) を選択します。Unity External Dependency Manager ライブラリにより、宣言された依存関係が Unity アプリの Assets/Plugins/Android ディレクトリにコピーされます。

iOS

Unity エディタで、[Assets](アセット)> [External Dependency Manager](外部依存マネージャー)> [iOS Resolver](iOS リゾルバ)> [Settings](設定)を選択して、[Link frameworks statically](フレームワークを静的にリンクする)のチェックボックスをオンにします。Unity External Dependency Manager により、use_frameworks! :linkage => :static が Podfile に追加されます。この確認を行わないと、プラグインに予期しない動作が生じる場合があります。

  • Unity 5.6 以降をご利用の場合は、必要な依存関係ライブラリを含む xcworkspace が生成されるため、その xcworkspace を標準の Xcode プロジェクトの代わりに使用します。
  • Unity 5.6 より前の古いバージョンをご利用の場合、依存関係は標準の Xcode プロジェクトに含まれます。

AdMob アプリ ID を設定する

Unity Editor で、メニューから [Assets](アセット)> [Google Mobile Ads](Google モバイル広告)> [Settings](設定)を選択します。

[Google AdMob] セクションの [Enabled](有効)チェックボックスをオンにして、AdMob を有効にします。 そして、各フィールドに Android と iOS の AdMob アプリ ID を入力します。

アプリで AdMob ではなくアド マネージャーを使用している場合は、[Google Ad Manager](Google アド マネージャー)セクションの [Enabled](有効)チェックボックスをオンにして、Google アド マネージャーを有効にします。

Mobile Ads SDK を初期化する

広告を読み込む前に MobileAds.Initialize() を呼び出して、アプリで 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 アプリのデプロイ時に Mobile Ads SDK が含まれるようになり、広告を実装する準備が整いました。さまざまな広告フォーマットが用意されている AdMob では、アプリのユーザー エクスペリエンスに最適なものを選択できます。

バナー広告は、アプリのレイアウト内の一部分を使用する長方形の画像またはテキストの広告です。アプリの操作中は画面に表示され続け、一定の時間が経過すると自動的に更新されます。モバイル広告を初めてお使いの場合は、この広告から始めるのが最適です。

バナーを実装する

インタースティシャル

インタースティシャルは、ユーザーが閉じるまで、アプリのインターフェースを覆うようにフルスクリーンで表示される広告です。ゲームのレベルが切り替わる合間やタスクが完了した直後など、アプリの実行の流れが自然に一時停止するタイミングでの使用に適しています。

インタースティシャルを実装する

ネイティブ

ネイティブはコンポーネント ベースの広告フォーマットで、広告見出しや行動を促すフレーズのようなアセットをアプリに表示する方法を自由にカスタマイズできます。フォント、色、その他の詳細を選択して、コンテンツの邪魔にならないように広告を表示し、ユーザー エクスペリエンスを向上させることができます。

ネイティブ広告を実装する

リワード

動画リワード広告はフルスクリーンの動画広告で、アプリ内特典と引き換えに最後まで視聴するかユーザーが選べます。

リワード広告を実装する

App Tracking Transparency で許可をリクエストする

IDFA にアクセスするための App Tracking Transparency(ATT)許可リクエストを表示するには、Unity の iOS 14 Advertising Support パッケージを使用します。

同じアプリキー

前提条件: Google Mobile Ads Unity Plugin 6.1.0 以降

Google Mobile Ads SDK では、同じアプリキーが導入されます。これにより、ユーザーが使用しているアプリから収集されたデータを使って、配信する広告の関連性とパーソナライズのレベルを高めることができます。

同じアプリキーはデフォルトで有効になりますが、次の API で無効にできます。

public void Start()
    {
        RequestConfiguration requestConfiguration =
            new RequestConfiguration.Builder()
            .SetSameAppKeyEnabled(true).build();
        MobileAds.SetRequestConfiguration(requestConfiguration);

        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize(HandleInitCompleteAction);
    }