動画リワード広告
動画リワード広告とは、アプリ内で使用可能なアイテムやポイントをユーザーに付与する代わりに、約15秒〜30秒程度の動画広告を表示する広告フォーマットです。
強制視聴型の動画広告と違い、動画視聴を希望したユーザーにのみインセンティブを付与する点で、一般的な動画広告とは異なるものです。
動画視聴後に付与する報酬(インセンティブ)の例としては、ゲーム内で使えるアイテムやコンティニューの権利、ツール系アプリの場合は有料の機能を限定的に開放するなどがあります。
前提条件
- VAMP Unity Plugin v5.2.0以降
- VAMP Unity Pluginがインポート済み
※まだVAMP Unity Pluginのインポートがお済みでない場合はこちらをご参考ください。
各メソッドの仕様やオプションについては、UnityPluginリファレンスをご参照ください。
RewardedAdオブジェクトの初期化
動画リワード広告を表示するためにまずRewardedAd
オブジェクトを初期化する必要があります。
次のコードスニペットでは、SDKTest
クラスのStart
メソッド内でRewardedAd
オブジェクトを初期化しています。
VAMP Unity Pluginをインポートして、イベントを設定してください。
広告枠IDでRewardedAd
を初期化します。
AdGeneration管理画面で発行された広告枠IDを*****に設定します。
public class SDKTest : MonoBehaviour
{
#if UNITY_IOS
//iOS用のページIDをセット
private const string placementID = "*****";
#elif UNITY_ANDROID
//Android用のページIDをセット
private const string placementID = "*****";
#endif
private VAMP.RewardedAd rewardedAd;
void Start()
{
// RewardedAdを初期化します。必ずLoadより先に実行してください
rewardedAd = new VAMP.RewardedAd(placementID);
// リスナーを設定します
rewardedAd.OnStartedLoading += HandleRewardedAdDidStartLoading;
rewardedAd.OnLoaded += HandleRewardedAdDidLoad;
rewardedAd.OnReceived += HandleRewardedAdDidReceive;
rewardedAd.OnFailedToLoad += HandleRewardedAdDidFailToLoad;
rewardedAd.OnFailedToShow += HandleRewardedAdDidFailToShow;
rewardedAd.OnOpened += HandleRewardedAdDidOpen;
rewardedAd.OnCompleted += HandleRewardedAdDidComplete;
rewardedAd.OnClosed += HandleRewardedAdDidClose;
rewardedAd.OnExpired += HandleRewardedAdDidExpire;
}
public void HandleRewardedAdDidReceive(object sender, VAMP.AdEventArgs args)
{
}
public void HandleRewardedAdDidFailToLoad(object sender, VAMP.AdFailEventArgs args)
{
}
public void HandleRewardedAdDidFailToShow(object sender, VAMP.AdFailEventArgs args)
{
}
public void HandleRewardedAdDidOpen(object sender, VAMP.AdEventArgs
args)
{
}
public void HandleRewardedAdDidComplete(object sender, VAMP.AdEventArgs args)
{
}
public void HandleRewardedAdDidClose(object sender, VAMP.AdCloseEventArgs args)
{
}
public void HandleRewardedAdDidExpire(object sender, VAMP.AdEventArgs args)
{
}
public void HandleRewardedAdDidStartLoading(object sender, VAMP.AdLoadEventArgs args)
{
}
public void HandleRewardedAdDidLoad(object sender, VAMP.AdLoadResultEventArgs args)
{
}
}
広告の読み込み
rewardedAd.Load(new VAMP.Request.Builder().Build());
広告の読み込み完了時にはOnReceive
に通知されます。
表示(再生)
rewardedAd.Show();
イベント
イベントの登録
広告の読み込みを開始する前に、イベントを登録します。
rewardedAd.OnStartedLoading += HandleRewardedAdDidStartLoading;
rewardedAd.OnLoaded += HandleRewardedAdDidLoad;
rewardedAd.OnReceived += HandleRewardedAdDidReceive;
rewardedAd.OnFailedToLoad += HandleRewardedAdDidFailToLoad;
rewardedAd.OnFailedToShow += HandleRewardedAdDidFailToShow;
rewardedAd.OnOpened += HandleRewardedAdDidOpen;
rewardedAd.OnCompleted += HandleRewardedAdDidComplete;
rewardedAd.OnClosed += HandleRewardedAdDidClose;
rewardedAd.OnExpired += HandleRewardedAdDidExpire;
広告表示準備完了
広告のロードが成功したタイミングで通知されます。
public void HandleRewardedAdDidReceive(object sender, VAMP.AdEventArgs args)
{
}
### エラー エラーが発生した場合に通知されます。
// 全アドネットワークにおいて広告が取得できなかったときに通知
public void HandleVAMPRewardedAdDidFailToLoad(object sender, VAMP.AdFailEventArgs args)
{
}
// 広告の表示に失敗したときに通知
public void HandleVAMPRewardedAdDidFailToShow(object sender, VAMP.AdFailEventArgs args)
{
}
エラーはこちらをご確認ください。
広告を閉じる
広告を閉じたタイミングで呼び出されます。
public void HandleVAMPRewardedAdDidClose(object sender, VAMP.AdCloseEventArgs args)
{
}
インセンティブ付与通知
動画再生完了時、または広告が閉じられた際にインセンティブ付与が可能な状態であれば呼び出されます。
動画の再生を途中でキャンセルした場合は、本イベントは通知されません。
public void HandleRewardedAdDidComplete(object sender, VAMP.AdEventArgs args)
{
}
広告取得開始
アドネットワーク毎の広告取得が開始されたときに通知します。
public void HandleRewardedAdDidStartLoading(object sender, VAMP.AdLoadEventArgs args)
{
}
アドネットワーク毎の広告取得結果
アドネットワーク毎の広告取得結果が通知されます。
public void HandleRewardedAdDidLoad(object sender, VAMP.AdLoadResultEventArgs args)
{
}
アドネットワーク毎の広告取得結果を、 成功 , 失敗 のどちらの場合でも通知します。
AdLoadResultEventArgs
のIsSuccess
がtrueの場合は成功です。
失敗しても次のアドネットワークがある場合、広告取得を実行します。
最終的に全てのアドネットワークの広告在庫がない場合は、
OnFailedToShow
のNO_ADSTOCK
が通知されるため、ここで処理を止めないでください。
この通知をもとにShow
しないようご注意ください。Show
する判定は、OnReceive
イベントを受け取ったタイミングで判断ください。
期限切れ
OnReceive
イベントを受けてからの有効期限(55分)が切れた際に通知されます。
広告を表示するためには、再度ロードを行う必要があります。
public void HandleRewardedAdDidExpire(object sender, VAMP.AdEventArgs args)
{
}