動画リワード広告メディエーション

動画リワード広告は、広告コンテンツに関心を持ったユーザーに対し、その引き換えとしてなんらかの特典を提供できる動画広告です。

基本的な動画リワード広告リクエスト

以下は、動画リワード広告を作成して読み込むのに必要な最小限のコードです。

private void RequestRewardBasedVideo()
{
    #if UNITY_EDITOR
        string adUnitId = "unused";
    #elif UNITY_ANDROID
        string adUnitId = "INSERT_AD_UNIT_HERE";
    #elif UNITY_IPHONE
        string adUnitId = "INSERT_AD_UNIT_HERE";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    RewardBasedVideoAd rewardBasedVideo = RewardBasedVideoAd.Instance;

    AdRequest request = new AdRequest.Builder().Build();
    rewardBasedVideo.LoadAd(request, adUnitId);
}

リワードベースの動画広告は、シングルトン設計に従います。広告を読み込むためのリクエストは、共有インスタンスに対して行われます。

インタースティシャルと同様、動画リワード広告は、以下に示すように、ゲームの区切りとなる適切なタイミングで明確に表示する必要があります。

private void GameOver()
{
    if (rewardBasedVideo.IsLoaded())
    {
        rewardBasedVideo.Show();
    }
}

動画リワード広告イベント

RewardBasedVideoAd は、広告のライフスタイルについて通知するための広告イベントを提供しています。これらのイベントは、EventHandler 型です。次の例は、動画リワード広告に関する広告イベントを登録する方法を示しています。

// Reward based video instance is a singleton. Register handlers once to
// avoid duplicate events.
if (!rewardBasedEventHandlersSet)
{
    // Ad event fired when the rewarded video ad
    // has been received.
    rewardBasedVideo.OnAdLoaded += HandleRewardBasedVideoLoaded;
    // has failed to load.
    rewardBasedVideo.OnAdFailedToLoad += HandleRewardBasedVideoFailedToLoad;
    // is opened.
    rewardBasedVideo.OnAdOpening += HandleRewardBasedVideoOpened;
    // has started playing.
    rewardBasedVideo.OnAdStarted += HandleRewardBasedVideoStarted;
    // has rewarded the user.
    rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
    // is closed.
    rewardBasedVideo.OnAdClosed += HandleRewardBasedVideoClosed;
    // is leaving the application.
    rewardBasedVideo.OnAdLeavingApplication += HandleRewardBasedVideoLeftApplication;

    rewardBasedEventHandlersSet = true;
}

動画リワード広告インスタンスはシングルトン オブジェクトのため、イベントが重複しないように広告イベントを 1 回だけ登録することをおすすめします。

OnAdRewarded イベントは、特別なイベント引数が含まれている唯一のイベントです。このイベントが渡す Reward のインスタンスには、ユーザーに提供するリワードを説明する TypeAmount が含まれます。

public void HandleRewardBasedVideoRewarded(object sender, Reward args)
{
    string type = args.Type;
    double amount = args.Amount;
    print("User rewarded with: " + amount.ToString() + " " + type);
}

フィードバックを送信...