サイトアイコン StudioFun

TapTapTap!!!(11)~Unity の Ads 機能を使用する~

TapTapTap

TapTapTap!!!(10)~最高レベルを保存する~ではゲームオーバー時点のレベルを保存する機能を作成し、スタート画面上に最高レベルの表示とプレイ画面上で現在レベルの表示を追加する。今回は Unity 上に広告を出すことができるというのを知ったので、 TapTapTap!!! に広告を追加して見たいと思う。

StudioFun(スタジオファン)がTapTapTap!!!に対して広告を追加した方法について記載する。詳しいことは Unity の Ads クイックスタートガイドにも記載してあるので合わせて確認することをおすすめする。

1.ビルドモードを Android に変更する

PCゲームようでは広告を出せないようなのでビルドモードを Andoroid ように変更する(もともと Android で公開する予定のゲームだったためもう少し早い回でやっておくべきだった)。手順としては [File] > [Build Setting] をクリックし、ビルドの設定を行う。

ビルドセッティングの表示

ビルドの設定画面では Android を選択し、左下の [Switch Platform] をクリックすることで android 用のアプリをビルドできるようになる。

ビルドセッティング用画面

2.Unity Ads を表示可能にする

Unity の広告を出す方法は[Inspector] の横にある[services]から行うことができる。[services] の中に[Ads] がありこれをオンにすることで広告を表示できるようになる。このとき [Test mode] チェックボックスがあるのでここにもチェックを入れておこう。チェックを入れていると Unity 上でゲームを実行した際にもテスト用の広告が表示されるようになる。

Unity サービスタブ
Ads の有効化

 

3.Unity Ads を表示にする

実際に広告を表示できるようにするためには、もうひと手間が必要になる。まず、新たにスクリプトファイルを「ShowAdOnStart.cs」として作成する。作成する方法についてはTapTapTap!!!(2)に記載しているためここでは省略する。「ShowAdOnStart.cs」に記載する以下のスクリプトは広告表示用のスクリプトとなる。

[cce_csharp]using System.Collections;
using UnityEngine;
using UnityEngine.Advertisements;

public class ShowAdOnStart : MonoBehaviour
{
#if !UNITY_ADS // 広告が有効でなかったときの処理
    public string gameId; // Set this value from the inspector.
    public bool enableTestMode = true;
#endif
    /// <summary>
    /// 広告表示開始処理
    /// </summary>
    /// <returns></returns>
    IEnumerator Start()
    {
#if !UNITY_ADS // 広告が有効でなかったときの処理
        if (Advertisement.isSupported)
        { // If runtime platform is supported...
            Advertisement.Initialize(gameId, enableTestMode); // ...initialize.
        }
#endif

        // 広告表示の初期化処理
        while (!Advertisement.isInitialized || !Advertisement.IsReady())
        {
            yield return new WaitForSeconds(0.5f);
        }

        // 広告の表示.
        Advertisement.Show();
    }
}[/cce_csharp]

これを「Start」シーンの EventSystem にドラッグアンドドロップする。これを実行すると以下のような画面になる。

広告追加後の画面

この広告は、全面に表示しなければならない仕様のようなので、プレイ可能数を制限し広告を見ることでプレイ回数を増やせる仕様にしたいと思う。ひとまずはここまで、次の回でプレイ可能回数の制限を加えたいと思う。

 

モバイルバージョンを終了