インタースティシャル実装方法 - glossom-dev/AdfurikunSDK-Unity GitHub Wiki

インタースティシャル

実装準備

プロジェクトにSDKを追加していない場合、以下のいずれかの方法でSDKを追加してください。

実装

実装手順より、SerializeFieldを利用して、AdfurikunInterstitialUtilityを定義した状態だとします。

デリゲートコールバック実装、初期化

public class InterstitialScene : MonoBehaviour
{
    [SerializeField] private AdfurikunInterstitialUtility interstitialUtility;

    void Start()
    {
        //デリゲートコールバックを設定する。
        interstitialUtility.onPrepareSuccess = HandlePrepareSuccess;
        interstitialUtility.onPrepareFailure = HandlePrepareFailure;
        interstitialUtility.onStartPlaying = HandleStartPlaying;
        interstitialUtility.onFinishPlaying = HandleFinishPlaying;
        interstitialUtility.onFailedPlaying = HandleFailedPlaying;
        interstitialUtility.onCloseAd = HandleCloseAd;

        //初期化
        var configAppID = interstitialUtility.GetConfigAppID();
        if (configAppID != "") 
        {
            interstitialUtility.InitializeInterstitial(configAppID);
        }
        else
        {
            interstitialUtility.InitializeInterstitial(広告枠ID);
        }
    }

    //以下、Start()で設定したデリゲートコールバック
    void HandlePrepareSuccess(string appId, bool isManualMode)
    {
         //広告準備完了
    }

    void HandlePrepareFailure(string appId, int errorCode, List<AdNetworkError> adNetworkErrorList)
    {
        //広告準備失敗
    }

    void HandleStartPlaying(string appId, string adNetworkKey)
    {
        //動画再生開始
    }

    void HandleFinishPlaying(string appId, string adNetworkKey)
    {
        //動画再生完了
    }

    void HandleFailedPlaying(string appId, string adNetworkKey, List<AdNetworkError> adNetworkErrorList)
    {
        //動画再生失敗
    }

    void HandleCloseAd(string appId, string adNetworkKey)
    {
        //広告終了
    }
}

インタースティシャル広告のロード

LoadInterstitial()関数で広告をロードします。 ロード成功すると、onPrepareSuccessのコールバックが呼ばれます。 失敗すると、onPrepareFailureのコールバックが呼ばれます。

public void Load ()
{
    interstitialUtility.LoadInterstitial();
}

インタースティシャル広告の表示

IsPreparedInterstitial関数の戻り値がtrueになる事を確認し、PlayInterstitial関数で広告を再生します。

public void Show ()
{
    if (interstitialUtility != null && interstitialUtility.IsPreparedInterstitial())
    {
        interstitialUtility.PlayInterstitial();
    }
}