Admob插页式广告仅展示一次

时间:2019-04-01 19:43:58

标签: admob interstitial

我有一个Android游戏,但插页式广告在每个游戏会话中仅展示一次。我不知道如何更改代码,以便一次又一次地请求插页式广告。目的是在每个级别之后显示一个广告。显示上一个插页式广告后,是否需要使用adListener类加载新插页式广告?还是我的代码还有其他问题?

请不要介意代码中基于奖励的视频部分...

    // Clean up interstitial ad before creating a new one.
    if (this.interstitial != null)
    {
        this.interstitial.Destroy();
    }

    // Create an interstitial.
    this.interstitial = new InterstitialAd(adUnitId);

    // Register for ad events.
    this.interstitial.OnAdLoaded += this.HandleInterstitialLoaded;
    this.interstitial.OnAdFailedToLoad += this.HandleInterstitialFailedToLoad;
    this.interstitial.OnAdOpening += this.HandleInterstitialOpened;
    this.interstitial.OnAdClosed += this.HandleInterstitialClosed;
    this.interstitial.OnAdLeavingApplication += this.HandleInterstitialLeftApplication;

    // Load an interstitial ad.
    this.interstitial.LoadAd(this.CreateAdRequest());
}

private void RequestRewardBasedVideo()
{
    #if UNITY_EDITOR
    string adUnitId = "unused";
    #elif UNITY_ANDROID
    string adUnitId = "ca-app-pub-5379191551044504/5634466954";
    #elif UNITY_IPHONE
    string adUnitId = "ca-app-pub-5379191551044504/5634466954";
    #else
    string adUnitId = "unexpected_platform";
    #endif

    this.rewardBasedVideo.LoadAd(this.CreateAdRequest(), adUnitId);
}

public void ShowInterstitial()
{
    if (this.interstitial.IsLoaded())
    {
        this.interstitial.Show();
    }
    else
    {
        MonoBehaviour.print("Interstitial is not ready yet");
    }
}

private void ShowRewardBasedVideo()
{
    if (this.rewardBasedVideo.IsLoaded())
    {
        this.rewardBasedVideo.Show();
    }
    else
    {
        MonoBehaviour.print("Reward based video ad is not ready yet");
    }
}

0 个答案:

没有答案