【マネタイズ入門】モバイルゲームにUnity Adsを実装する(2/3)

Visual Scriptingでバナー広告を表示させる

Posted by 51n1 on 17 Aug, 2021

もくじ

1. Unity Adsの基本設定を行う
2. Visual Scriptingでバナー広告を表示させる
3. Visual Scriptingでリワード広告を表示させる

まえおき

Unity Adsのバナー広告をVisual Scriptingで実装してみたい。以降の導入手順については前ページの「 Unity Adsの基本設定を行う」の内容が完了していることを前提とする。

今回、Unity Adsのバナー広告の実装については下記のYouTubeビデオを参考にしている。1つ目はUnity公式の3分弱という短いビデオだが、端的にまとめられていてよくわかりやすいビデオである。一度は見ておくことをおすすめする。また、2つ目のビデオはVisual Scriptingによる実装手順のチュートリアルとなっており、Boltを使った説明となっているが、Unity 2021で標準パッケージとなったVisual Scriptingでも同様に実装することが可能である。

バナー広告の表示だけであれば、C#スクリプトでも実装できるが、Visual Scriptingでも同様にわりと簡単に実装することができる。

C#スクリプトのコード例

参考にC#でバナー広告を実装する場合のコード例を記載する。あくまでも最小限のコードでエラー処理とかは含まれていない。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Advertisements;

public class BannerAds : MonoBehaviour
{
  private string gameId = "1234567";
  private string placementId = "banner";
  private bool testMode = true;

  void Start()
  {
    Advertisement.Initialize(gameId, testMode);

    StartCoroutine(ShowBannerAds());
  }

  IEnumerator ShowBannerAds()
  {
    while (!Advertisement.IsReady(placementId))
    {
      yield return new WaitForSeconds(0.3f);
    }

    Advertisement.Banner.SetPosition(BannerPosition.TOP_CENTER);
    Advertisement.Banner.Load(placementId);
    Advertisement.Banner.Show(placementId);
  }
}

Visual Scriptingの設定

Project SettingsのVisual Scriptingの設定項目にあるType Libraryの「+」ボタンより「Advertisement」と「Banner of Advertisement」を追加し、「Regenerate Units」をクリックし、設定を反映させる。( 2.1, 2.2)

2.1 Visual Scripting - Project Settings

2.2 Add Types for Advertisement

Script Machineコンポーネントの追加

Visual ScriptingのScript Machineコンポーネントを追加するために空のゲームオブジェクトを作成する。名前は何でも良いがここでは「AdsController」とする。

ゲームオブジェクトを作成したら、Inspectorウィンドウで「Add Component」ボタンをクリックし、Script Machineコンポーネントを追加する。「New」ボタンをクリックし、名前を「AdsControl」として、Script Graphを新規で作成し割り当てる。GIFアニメは画面の都合上、既に作成したAdsCotrolグラフを選択して設定している。( 2.3, 2.4)

2.3 Script Machine - Inspector

2.4 Add Component

「Edit Graph」ボタンをクリックするとVisual Scripting Graphウィンドウが開く。そのウィンドウ内でノードを追加しグラフを作成していく。( 2.5)

Script Graphウィンドウの左上にある「Graph Inspector」と「Blackboard」ボタンはクリックしてクローズしておいてよい。( 2.6)

2.5 Edit Graph

2.6 Script Graph Window

Script Graphの作成

ここからバナー広告に必要なノードを追加し、グラフを作成する。新規で作成したScript Graph内にはStartユニットとUpdateユニットが最初から追加されている。今回、Updateユニットは不要なため、削除しておく。ユニットを選択して「Delete」キーを押下するか、右クリックメニューで「Delete」を選択すれば削除できる。( 2.7, 2.8)

2.7 First Script Graph

2.8 Delete Update Event Unit

AdvertisementのInitializeユニットを追加し、Startイベントと接続させる。Game Idを入力し、Test Modeにチェックを入れておく。Game Idの確認方法は前ページの「 Unity Adsの基本設定を行う」を参照してほしい。( 2.9, 2.10)

2.9 Advertisement Initialize

2.10 Add Unit

AdvertisementのIsInitializedユニットとIfユニットを新規追加し、Initializeユニット→Ifユニット、IsInitializedユニット→Ifユニットをそれぞれつなげる。( 2.11, 2.12)

2.11 Advertisement IsInitialized

2.12 Add Unit

次に下記3つのユニットを追加し、IfユニットのTrueから順番に接続していく。( 2.13, 2.14)

  • Banner of Advertisement / Set Position
    Positionパラメータで表示させたい位置を指定する。
  • Banner of Advertisement / Load
    Placement Idには前ページで設定したAdユニットのIdを入力する。
  • Banner of Advertisement / Show
    Placement Idには前ページで設定したAdユニットのIdを入力する。

2.13 Banner of Advertisement

2.14 Add Units

Timerユニット

Advertisementの初期化を確実にチェックするため、Timerユニットを追加する。ループさせるようにIfユニットのFalseからTimerユニットのStartをつなぎ、TimerユニットのCompletedからIfユニットをつなぐ。( 2.15, 2.16)

2.15 Timer Unit

2.16 Add Unit

グラフ完成

AdsControl Script Graphにてバナー広告を表示させるグラフの作成は完成である。まとめとして今回作成したグラフ全体を示しておく。

2.17 Banner Ads - AdsControl Script Graph

バナー広告の表示テスト

Test Modeにチェックが入っていることを確認し、Unity EditorのPlayボタンをクリックしゲームを実行する。問題なければ、Banner of AdvertisementのSet Positionユニットで設定した位置にテスト用のバナーが表示される。

2.18 Banner Ads Test

アプリをリリースする際にはTest Modeのチェックを外してビルドする。今回のバナー広告の実装に関する説明はここまでとなるが、以下、参考情報を記載しておく。

Unity Adsのバナー広告については地域によって広告が表示されない場合がある。テストで問題ない場合でも実際にはバナー広告が表示されないというケースがあった。憶測ではあるが、マイナーな国や地域ではUnity Adsの広告を提供していない可能性がある。その場合は、Google AdMobを活用することを考えても良いだろう。

次のページではリワード広告をVisual Scriptingで実装してみたい。