2015年5月15日金曜日

UnityAdsの使い方とゲームへの組み込み方

UnityAds(ユニティアド)とは 


15秒のアプリの広告動画をゲーム内で再生してインストールされれば広告収入を得るという仕組みのUnity公式の広告です。

クロッシロードはこのUnityAdsで2億円ほど売り上げたらしいです。(細かい数字は忘れました)

・UnityAdsを使うことのメリット


Unityとの親和性が高い(Unityが出しているので当たり前ですが)

・iOS8からアイコン型の広告がリジェクトされ易くなっているのでリジェクト対策になる

・誤クリックを狙ったアイコン型やバナー型広告等と比べてプレイヤーのストレスが非常に少ない。

・アイコン型やバナー型広告等と比べUIがすっきりする

・ゲームのシステムに組み込みやすい


例えば「クロッシーロードのゲームオーバーになっても動画を再生すれば復活できる等」

今回のゲームへの組み込みはこの仕組みを採用してみました。


UnityAdsの使い方


まずUntyAdsで登録します。

登録したら、広告を入れるゲームを登録します。










登録したゲームIDを以下のスクリプトの初期化の部分に入れてShowAd()関数を実行するだけです。
switch構文で条件分岐して再生を完了した場合のみSendMassageで関数を実行するようにしてあります。


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

public class UnityAds : MonoBehaviour {
 public GameObject Gameover;
 // Use this for initialization
 void Start () {
  // ゲームIDを入力して、Unity Adsを初期化する
  Advertisement.Initialize (\"ゲームID\");
 }
 
 // Update is called once per frame
 void ShowAd () {
  // Unity Adsを表示する準備ができているか確認する
  if (Advertisement.isReady ()) {
   Debug.Log(\"ShowAds\");
   Advertisement.Show(\"rewardedVideoZone\", new ShowOptions {
    pause = true,
    resultCallback = result => {
     switch (result)
     {
     case ShowResult.Finished:
      Debug.Log(\"The ad was successfully shown.\");
   // Unity Adsが無事に再生完了すれば復活の関数を実行
      Gameover.SendMessage(\"ContinueAds\");
      break;
     case ShowResult.Skipped:
      Debug.Log(\"The ad was skipped before reaching the end.\");
      break;
     case ShowResult.Failed:
      Debug.LogError(\"The ad failed to be shown.\");
      break;
     }
    }
   });

  }
 }

}
上記のシステムをエルフギアソリッドに組み込んであるのでダウンロードして確認して頂けるとわかりやすいかと思います。

ゲームオーバーになっても動画を再生(UnityAdsを見る)すれば復活するシステムです。

一度この形式広告でゲームを遊んでみるとわかりますが、誤クリックを狙ったアイコン型やバナー型広告等と比べてストレスが非常に少ないです。

ゲームオーバーになってゲームがひと段落してから自分で選択して広告を見るのでダウンロード率も高いそうです。

UIもすっきりするので今後この形の広告(動画広告)が主流になっていきそうです。



エルフギアソリッド 〜本格3Dスパイアクション脱出ゲーム -
【iOS】  

0 件のコメント: