【Unity】 Captulionバージョン1.0.2 アップデート maio広告の導入について
2018年1月8日にiOSシューティングゲームCaptulionをアップデートいたしました。
今回の導入の際にmaioの広告を導入してみました。その際に調整した内容について簡単にまとめてみました。
Captulionについて
Captulionは敵機を捕獲して味方にするシューティングゲームで、味方にした敵機は自機と一緒に攻撃をしてくれたり、敵から身を守る盾としても使うことができます。敵はボスも含めて全て捕獲対象となるため、捕獲した敵が強ければ強いほど強力な味方になってくれますが、強い敵は捕獲に時間がかかります。
捕獲した敵は持ち帰ることでパワーアップアイテムの解放につながります。(持ち帰った敵は再出動させることはできません。)
敵を持ち帰らずにそのまま次のステージへ連れて行くこともでき、ボスキャラなどはかなり強力な戦力になります。(捕獲した敵機がやられてしまうと、持ち帰ることができなくなります。)
今回のアップデートについて
今回のアップデートではステージクリア時にプレイヤーのシールドを修復するリペア機能とゲームオーバー時にその場コンティニュー機能を追加いたしました。
今回機能を追加するにあたり、アイモバイル様のmaioを利用してみました。
動画広告maio導入
maio広告の導入自体は、maioのサイトで登録を行なった後、gitから導入手順に沿って行うことができます。
Get Started · imobile-maio/maio-Unity-Plugin Wiki · GitHub
maio動画再生中のゲーム進行とBGMの停止について
Unityでmaio動画広告再生中はゲームの進行とBGMが再生された状態になってしまうため、それぞれ停止する必要があります。
BGMを停止する件はAudioListener.volumeを0にすることで、動画再生中のゲームの進行停止はTime.timeScaleを0にする事で対応できました。
以下は停止の記述例になります。
// 広告再生
public void AdsStart()
{
AudioListener.volume = 0;
Time.timeScale = 0.0f;
}
// 広告終了
public void AdsEnd()
{
AudioListener.volume = 1;
Time.timeScale = 1.0f;
}
あとはmaio側の記述で上記のようなメソッドを呼び出すことで、maio広告を無事再生することができました。
/// <summary>
/// 広告の再生が開始された際に呼ばれます。
/// </summary>
/// <param name="zoneId"></param>
public void HandleOnStartAd(string zoneId)
{
Debug.LogFormat("Maio.OnStartAd('{0}')", zoneId);
gameController.AdsStart();
}
/// <summary>
/// 広告の視聴が終了した際に呼ばれます。
/// </summary>
/// <param name="zoneId"></param>
/// <param name="playtime"></param>
/// <param name="skipped"></param>
/// <param name="rewardParam"></param>
public void HandleOnFinishedAd(string zoneId, int playtime, bool skipped, string rewardParam)
{
Debug.LogFormat("Maio.OnFinishedAd('{0}', {1}, {2}, '{3}')", zoneId, playtime, skipped, rewardParam);
if (!skipped)
{
// ここで、ユーザーへのリワード処理を行う事ができます。
ResultAction();
}
}