Admob插页式广告根本没有显示

时间:2017-08-23 17:29:22

标签: c# unity3d admob

我基本上复制粘贴并稍微修改了此Google移动广告官方分支机构的演示项目广告设置,我的横幅广告显示正常,但无论如何都不会显示插页式广告。

在这里,我使用AdManager static class

做了什么

在开始游戏后立即调用此InitializeAds()

public static void InitializeAds()
{
    MobileAds.Initialize(appID);
}

当然,在有广告的每个级别,GetSomeAdRequests()方法中都包含以下Start()

public static void GetSomeAdRequests()
{
    AdRequestBANNER = CreateAdRequest();
    AdRequestINTERST = CreateAdRequest();
}

public static AdRequest CreateAdRequest()
{
    AdRequest request = new AdRequest.Builder().Build();
    return request;
}

毋庸置疑,我使用Google提供的测试人员视频和横幅ID。

接下来,我的RequestInterstitial

public static void RequestInterstitial()
{
    // These ad units are configured to always serve test ads.
    #if UNITY_EDITOR
    string adUnitId = "unused";
    #elif UNITY_ANDROID
    string adUnitId = videoID;
    #else
    string adUnitId = "unexpected_platform";
    #endif

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

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

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

    // Load an interstitial ad.
    interstitial.LoadAd(AdRequestINTERST);
    if (interstitial.IsLoaded())
    {
        interstitial.Show();
    }
}

最后AdRequestINTERST是:

private static AdRequest adRequestINTERST;
public static AdRequest AdRequestINTERST
{
    get
    {
        if (adRequestINTERST == null)
        {
            adRequestINTERST = CreateAdRequest();
        }
        return adRequestINTERST;
    }
    set
    {
        adRequestINTERST = value;
    }
}

以这种方式实现,以确保request 永远不会为空。

现在,我确实给了vid初始化的大量时间,因为它应该在leve start上加载,但它仍然没有做任何事情。没有错误,没有冻结。

在编辑器游戏中,我使用Debug.Log对其进行了测试,并且它达到了实际调用广告的代码。它只是没有显示,而横幅广告工作正常。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我想我现在明白了。

所以我能做到这一点的方式是:

我在初始化场景时加载广告,或者确切地说,事先启动请求。并在加载后隐藏它们。

当我希望广告出现时,我只需要调用Show()方法并繁荣,他们就在那里。

我的问题是什么,互联网速度不是最好的在这里,我要求并希望在请求后立即显示,这将不会发生。