概要

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

  1. Unity のメニュー オプション [Edit] > [Project Settings] > [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

GitHub からインポート

  1. GitHub から最新の .unitypackage リリースをダウンロードします。
  2. 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 に記載されています。

AdMob アプリ ID を設定する

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 では、ユーザー エクスペリエンスに最適なものを選択できます。

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

バナー広告を実装する

インタースティシャル

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

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

ネイティブ

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

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

特典

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

リワード広告を実装する

リワード インタースティシャル

リワード インタースティシャルは、アプリの画面が変わる自然なタイミングで自動的に表示される広告に対して報酬(例: コイン、追加ライフ)を提供できる、新しいタイプのインセンティブ広告フォーマットです。

リワード広告とは異なり、ユーザーはリワード インタースティシャルを表示するためにオプトインする必要はありません。

リワード広告のオプトイン プロンプトの代わりに、リワード インタースティシャルでは、報酬について通知し、ユーザーが希望する場合にはオプトアウトできる選択肢を提示する導入画面が必要です。

リワード インタースティシャル広告を実装する

アプリの起動

アプリ起動は、ユーザーがアプリを開いたときやアプリに戻ったときに表示される広告フォーマットです。広告は読み込み画面にオーバーレイ表示されます。

アプリ起動時広告を実装する