もくじ
まえおき
Unity Adsのバナー広告をVisual Scriptingで実装してみたい。以降の導入手順については前ページの「 Unity Adsの基本設定を行う」の内容が完了していることを前提とする。
今回、Unity Adsのバナー広告の実装については下記のYouTubeビデオを参考にしている。1つ目はUnity公式の3分弱という短いビデオだが、端的にまとめられていてよくわかりやすいビデオである。一度は見ておくことをおすすめする。また、2つ目のビデオはVisual Scriptingによる実装手順のチュートリアルとなっており、Boltを使った説明となっているが、Unity 2021で標準パッケージとなったVisual Scriptingでも同様に実装することが可能である。
- Monetize your games | Showing Banner Ads
- Monetize your BOLT Game with Unity Ads Tutorial | Banner and Interstitial(Video) - 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)
Script Machineコンポーネントの追加
Visual ScriptingのScript Machineコンポーネントを追加するために空のゲームオブジェクトを作成する。名前は何でも良いがここでは「AdsController」とする。
ゲームオブジェクトを作成したら、Inspectorウィンドウで「Add Component」ボタンをクリックし、Script Machineコンポーネントを追加する。「New」ボタンをクリックし、名前を「AdsControl」として、Script Graphを新規で作成し割り当てる。GIFアニメは画面の都合上、既に作成したAdsCotrolグラフを選択して設定している。( 2.3, 2.4)
「Edit Graph」ボタンをクリックするとVisual Scripting Graphウィンドウが開く。そのウィンドウ内でノードを追加しグラフを作成していく。( 2.5)
Script Graphウィンドウの左上にある「Graph Inspector」と「Blackboard」ボタンはクリックしてクローズしておいてよい。( 2.6)
Script Graphの作成
ここからバナー広告に必要なノードを追加し、グラフを作成する。新規で作成したScript Graph内にはStartユニットとUpdateユニットが最初から追加されている。今回、Updateユニットは不要なため、削除しておく。ユニットを選択して「Delete」キーを押下するか、右クリックメニューで「Delete」を選択すれば削除できる。( 2.7, 2.8)
Advertisement Initializeユニット
AdvertisementのInitializeユニットを追加し、Startイベントと接続させる。Game Idを入力し、Test Modeにチェックを入れておく。Game Idの確認方法は前ページの「 Unity Adsの基本設定を行う」を参照してほしい。( 2.9, 2.10)
Advertisement IsInitializedユニット
AdvertisementのIsInitializedユニットとIfユニットを新規追加し、Initializeユニット→Ifユニット、IsInitializedユニット→Ifユニットをそれぞれつなげる。( 2.11, 2.12)
Banner of Advertisementユニット
次に下記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を入力する。
Timerユニット
Advertisementの初期化を確実にチェックするため、Timerユニットを追加する。ループさせるようにIfユニットのFalseからTimerユニットのStartをつなぎ、TimerユニットのCompletedからIfユニットをつなぐ。( 2.15, 2.16)
グラフ完成
AdsControl Script Graphにてバナー広告を表示させるグラフの作成は完成である。まとめとして今回作成したグラフ全体を示しておく。
2.17 Banner Ads - AdsControl Script Graph
バナー広告の表示テスト
Test Modeにチェックが入っていることを確認し、Unity EditorのPlayボタンをクリックしゲームを実行する。問題なければ、Banner of AdvertisementのSet Positionユニットで設定した位置にテスト用のバナーが表示される。
アプリをリリースする際にはTest Modeのチェックを外してビルドする。今回のバナー広告の実装に関する説明はここまでとなるが、以下、参考情報を記載しておく。
Unity Adsのバナー広告については地域によって広告が表示されない場合がある。テストで問題ない場合でも実際にはバナー広告が表示されないというケースがあった。憶測ではあるが、マイナーな国や地域ではUnity Adsの広告を提供していない可能性がある。その場合は、Google AdMobを活用することを考えても良いだろう。
次のページではリワード広告をVisual Scriptingで実装してみたい。