Unityのゲームに広告を表示させたい!
どうも、Linです。ココア、薄味最高。
Unityのゲームを作ると、まれに、
「ゲームに広告を貼ってあわよくば収益を得たいな・・・・・」
と思うことがあると思います。
Unityで使える広告のなかで便利なのが、Unity公式の広告プラットフォーム、
Unity Ads
です。
Unity公式の広告であるため実装が簡単なのが魅力です。
今日はこの「Unity Ads」の使い方をマスターしたので、その実装方法を忘れないうちに書き留めておきますね。
- Unity Adsに登録
- Unity Adsをゲーム中に表示させる
事前準備としてやっておきたい!Unity Adsへの登録方法
まずはUnity Adsを使う前の準備ですね。
Unity Adsへ登録してみましょう。
こちらのURLからUnity Adsの公式ページに遷移して、
右上のログインをクリック。

すると、ログイン画面が表示されるので、UnityのIDとパスワードを入力してログインしてください。

ログインしたら利用規約に同意して、

準備完了です!

Unity Adsの広告を実装して表示する方法
いよいよ実際にUnity Adsを実装していきますよ。
例として、ボタンをおすとUnity Adsが表示されるゲームを作っていきましょう。

ヒエラルキービューにボタン(Button)と空のオブジェクト(GameObject)を追加し、空のオブジェクトにGameController.csというスクリプトをアタッチしてみます。

Step1. 開発プラットフォームをスマホへ
開発プラットフォームをスマホにしておきましょう。
つまり、iOSもしくはAndroid用のゲームを作ります、と設定しておけばいいのです。
プラットフォームの設定は、Unityメニューから、
File > Build Settings
と進んで、左下のPlatformで選んでいきます。
AndroidまたはiOSを選択し、その下の「Switch Platform」をクリック。
僕は個人的にAndroidを利用しているのでAndroidを選びました。

この設定が完了しないと、Unity Ads用のスクリプトが有効にならないのでご注意ください。
Step2. 広告を有効化する
Unityのメニューから、
Window > Services
と進みます。

すると、
Create a Unity Project ID
と出てくるので、プルダウンから自分のUnityのIDを選択。

すると、次のようなサービス一覧が表示されるでしょう。

今回はUnity Adsの広告を有効化にしたいので一番上の「Ads」をクリック。

すると、次のような項目が表示されます。

Adsの右にあるタブをクリックして有効にすると、
Designation for Apps Directed to Children Under the Age of 13
と出てくるので、ゲームが13歳以下の子供向けだったらボックスにチェック。
それ以外だったらここはスルーして、その下の「Continue」をクリックしましょう。

あとはTest modeの
Enable test mode
にチェックを入れると、広告表示の際にUnityのサンプル広告の動画が流れるようになります。

サンプル広告はこんな感じ↓

もし、正規の広告を挟みたいようでしたら「Enable test mode」のチェックは外しておいてくださいね。
Step3. 広告用の名前空間を追加
Unity Adsの広告を表示するコードを利用するためには、
Unity Adsの名前空間を追加する必要があります。
具体的にいうと、スクリプト(GameController.cs)の頭に、
using UnityEngine.Advertisements;
を追加すればいいですよ。するとGameController.csは次のようなスクリプトになるはず↓
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Advertisements; public class GameController : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } }
Step4. 広告を表示させる
あとは広告表示のコードを追加するだけ。
UnityEngine.Advertisementsという名前空間を追加してやると、Advertisementクラスのメソッド・プロパティを使えるようになります。
今回使うのは、
- isReady()
- Show()
の2つのメソッド。
1つ目のisReadyは広告の準備ができていると真を返す関数で、Showは広告を表示するメソッドになります。
今回は、
もし広告の準備ができているなら広告を表示する
というコードを書いてみました↓
if (Advertisement.IsReady()) { Advertisement.Show(); }
で、サンプルアプリではBUTTONを押したら広告を表示したいので、publicなShowAdという関数を定義しておきます。
すると、GameController.csは次のようなコードになるでしょう。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Advertisements; public class GameController : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } public void ShowAd() { if (Advertisement.IsReady()) { Advertisement.Show(); } } }
あとはこのShowAdという関数をBUTTONに紐づけてやればいいので、BUTTONのInspector Viewから空のオブジェクトGameObjectを選択。
さらにGameControllerの関数からShowAdを選んで紐付け完了。

ここまででの作業が終わると、ボタンを押すとUnity Adsの広告を表示するゲームが作れたと思います。
今回はデモなので動画広告は出ないっすけどね!

Unityでゲームを作ったら広告を入れて収益化を目指そう!
以上がUnity公式の広告Unity Adsの実装方法でした。
Unity初心者のぼくでも実装できるぐらい優しいのでありがたかったですね。
広告の内容はゲームアプリの動画のようなので、Unityでゲームを作った方は相性が良いと思います。
Unityのゲームに挿入できる広告はUnity Ads以外にもGoogleが提供している
という広告があるようなので、そちらの使い方もこの際に勉強してみる予定です。
【参考図書】
Unity5 3D/2Dゲーム開発実践入門 作りながら覚えるスマートフォンゲーム開発
それでは!
Lin

おそらく、ブロガー。
今年でフリーランス 6年目。