Unity Adsは簡単に広告を表示してくれるサービスです。本来は数行コードを書けば広告を表示できますが、少しだけコードを付け足せば、広告の終了を検知することができます。
この記事では、Unity Adsの終了・スキップ検知の仕方を紹介していきます。
すでにUnity Adsを導入している前提で話を進めます。
まだの方は以下の記事を参考にUnity Adsを有効にしてください。
【初心者向け】Unityゲームに広告を付けて簡単に収益を得る方法(Android/iOS)
はじめにUnityには、ゲーム内に広告を表示して収益を得ることができるUnity Adsというサービスがあります。他の広告配信サービスと比べて、とても簡単に広告を実装できることがUnity Adsの大きなメリットです。...
はじめに
スクリプトの準備をします。”rewardedVideo”というユニットを作成し、すでに以下のコードを用意しているものとします。
using UnityEngine.Advertisements;
public class Game : MonoBehaviour
{
public void RewardAd()
{
if (Advertisement.IsReady("rewardedVideo"))
{
Advertisement.Show("rewardedVideo");
}
}
}
スキップ・準備・開始・終了を検知
まず、クラスにインターフェイスを継承させます。IUnityAdsListenerを追加。
public class Game : MonoBehaviour, IUnityAdsListener
次に、クラス内に関数を追加します。
public void OnUnityAdsReady(string placementId)
{
}
public void OnUnityAdsDidError(string message)
{
}
public void OnUnityAdsDidStart(string placementId)
{
}
public void OnUnityAdsDidFinish(string placementId, ShowResult showResult)
{
}
- OnUnityAdsReady : Unity Adsが準備完了になったとき
- OnUnityAdsDidError : エラーが発生したとき
- OnUnityAdsDidStart : 広告が開始されたとき
- OnUnityAdsDidFinish : 広告が終了したとき
OnUnityAdsDidFinish()に着目します。showResultは、終了時の情報を持っています。(例えばスキップされた、完了した、など)
public void OnUnityAdsDidFinish(string placementId, ShowResult showResult)
{
//rewardedVideo以外の広告はこれを無視
if (placementId != "rewardedVideo") return;
if (showResult == ShowResult.Finished)
{
//広告を見終わったとき
}
else if (showResult == ShowResult.Skipped)
{
//スキップされたとき
}
else if (showResult == ShowResult.Failed)
{
//失敗したとき(途中切れなど)
}
}
コード中にコメントアウトした通り、showResultを用いて枝分かれを作ることができます。if文もしくはswitch文を使います。
スキップされたときや失敗したときは警告文を出し、無事完了したときは報酬を与える、という形が一般的な使い方です。
では(@^^)/~~~
コメント