Skip to content

RewardVideo PluginInstallation_DFP_NoFill

Kajimura Masahiko edited this page Jul 18, 2018 · 2 revisions

DFP動画リワード広告がNo fillとなる場合の対応手順

  1. GNSAdSDKUnityPlugin-X.X.XをUnityプロジェクトへインポート
  2. Plugin APIを使用し、動画リワード広告のイベントを登録
  3. 破棄処理を追加
  4. 動画リワード広告のロード
  5. 動画リワード広告の表示
  6. 広告の事前呼び出しについて
  7. Androidパッケージ名について

1. GNSAdSDKUnityPlugin-X.X.XをUnityプロジェクトへインポート

動画リワード広告SDK Unity Pluginのインポート

2. Plugin APIを使用し、動画リワード広告のイベントを登録

以下は、動画リワード広告を作成してイベントを登録するために必要なコードです。 イベントを登録する際は、動画のロードをする前に登録処理を完了させてください。

using GNSAdSDK.Api;

...

static bool isRegistedRewardVideoEventHandler = false;

void RegistRewardVideoAdEventHandler()
{
    if (!isRegistedRewardVideoEventHandler)
    {
        RewardVideoAd rewardVideoAd = RewardVideoAd.Instance;

        rewardVideoAd.OnAdLoaded += (object sender, System.EventArgs args) => {
            // 動画リワード広告のロードが完了した際の処理
        };
        rewardVideoAd.OnAdStarted += (object sender, VideoRewardData args) => {
            // 動画リワード広告が再生された際の処理
            // ※ iOSに限り、args にはプロパティがすべて空のVideoRewardDataのインスタンスが渡されます。
        };
        rewardVideoAd.OnAdRewarded += (object sender, VideoRewardData args) => {
            // ユーザーにリワードが付与された際の処理
        };
        rewardVideoAd.OnAdClosed += (object sender, VideoRewardData args) => {
            // 動画リワード広告が閉じられた際の処理
            // ※ iOSに限り、args にはプロパティがすべて空のVideoRewardDataのインスタンスが渡されます。
        };
        rewardVideoAd.OnAdFailedToLoad += (object sender, VideoRewardFailedData args) => {
            // 動画リワード広告のロードが失敗した際の処理
        };
    }
    isRegistedRewardVideoEventHandler = true;
}
  • RewardVideoAdインスタンスは、動画リワード広告を操作するためのシングルトンオブジェクトとなります。
  • RewardVideoAdインスタンスがシングルトンオブジェクトのため、イベント重複を避けるためにイベント登録は1回だけにすることを推奨します。

VideoRewardData は下記プロパティを所持しています。

public class VideoRewardData : EventArgs
{
    // 名前
    // ※ iOSの場合は、常にnullとなります。
    public string AdName { get; set; }
    // 金額
    public double Amount { get; set; }
    // 種類
    public string Type { get; set; }
}

VideoRewardFailedData は下記プロパティを所持しています。

public class VideoRewardFailedData : EventArgs
{
    // アドネットワーク名
    // ※ iOSの場合は、常にnullとなります。
    public string AdnetworkName { get; set; }
    // コード
    public int Code { get; set; }
    // メッセージ
    public string Message { get; set; }
}

3. 破棄処理を追加

Androidの場合OnDestroy時に破棄処理を行うため、下記のようにApplication.Quitのコールバックを設定してください。 ※ iOSのみ作成する場合は、必須ではありません。

using GNSAdSDK.Api;

...

void OnApplicationQuit()
{
    RewardVideoAd.Instance.DisposeAd();
}

4. 動画リワード広告のロード

以下は、動画リワード広告のロードに必要なコードです。

using GNSAdSDK.Api;

...

void LoadRewardVideoAd()
{
    string zoneId = "";
    #if UNITY_ANDROID
        zoneId = "ここにzoneIdを入れてください";
    #elif UNITY_IPHONE
        zoneId = "ここにzoneIdを入れてください";
    #endif
    RewardVideoAd rewardVideoAd = RewardVideoAd.Instance;
    rewardVideoAd.LoadAd(zoneId);
}
  • RewardVideoAdインスタンスは、動画リワード広告を操作するためのシングルトンオブジェクトとなります。
  • ロードには数秒以上かかることがあるので、早い段階で動画広告をロードしてください。
  • 1つの動画の再生完了後に別の動画を見せる場合、再びロードを行う必要があります。

5. 動画リワード広告の表示

以下は、動画リワード広告の表示に必要なコードです。動画のロードが完了されるとShowAd()の呼び出しが可能となります。

using GNSAdSDK.Api;

...

void ShowRewardVideoAd()
{
    RewardVideoAd rewardVideoAd = RewardVideoAd.Instance;
    // 動画が表示出来るか確認
    if (rewardVideoAd.IsLoaded())
    {
        // 動画の表示
        rewardVideoAd.ShowAd();
    }
}

6. 広告の事前呼び出しについて

広告表示後、事前に次の広告をロードしたい場合の注意点

報酬付与イベント(OnAdRewarded)内ではなく、広告クローズイベント(OnAdClosed)内へLoadAd(zoneId);を実装してください。

7. Androidパッケージ名について

Assets/Plugins/Android/AndroidManifest.xml内のpackage名は適宜修正ください。

 package="jp.co.geniee.GNSUnitySampleRewardVideo"

目次

バナー広告SDK Unity Plugin

DFPバナーメディエーション広告SDK Unity Pluginの実装

動画リワード広告SDK Unity Pluginの実装

DFP動画リワードメディエーション広告SDK Unity Pluginの実装

全画面インタースティシャル広告SDK Unity Pluginの実装

DFP全画面インタースティシャルメディエーション広告SDK Unity Pluginの実装

導入サポート

Clone this wiki locally