解雇Admob插页式广告后会出现白屏

时间:2014-08-19 07:55:47

标签: windows-phone-8 admob

我遇到插页式广告的问题,在放弃插页式广告的情况下,白屏会显示2-3秒,没有响应,只有2-3秒后,它就会消失,应用再次可见。 平台:WP8 SDK版本:GoogleMobileAdsSdkWindowsPhone8-6.5.13 代码片段如下(我只提供了所需的东西,如果证明难以使用,请提前道歉)

    /*
C# implementation of the s3eAdMob extension.

Add win8-specific functionality here.

These functions are called via Shim class from native code.
*/
/*
 * NOTE: This file was originally written by the extension builder, but will not
 * be overwritten (unless --force is specified) and is intended to be modified.
 */
using System.Windows.Controls;
using Microsoft.Phone.Controls;
using System.Windows.Media;
using System.Windows;
using System.Threading.Tasks;        

using GoogleAds;

namespace s3eAdMobManaged
{
    public  class s3eAdMobManaged
    {
        private string interstitialAdID = "ca-app-pub-3090050976150818/7861588484";
        private InterstitialAd interstitialAd;

        public void initAdMob_managed()
        {
            interstitialAd = new InterstitialAd(interstitialAdID);
            interstitialAd.DismissingOverlay += OnInterstitialDismissingOverlay;

            AdRequest adRequestInterstitial = new AdRequest();
            adRequestInterstitial.ForceTesting = false;
            interstitialAd.LoadAd(adRequestInterstitial);
        }

        public void showAdMobInterstitial_managed()
        {
            interstitialAd.ShowAd();
        }

        private void OnInterstitialDismissingOverlay(object sender, AdEventArgs e)
        {
            loadInterstitialAdAsync();
        }

        private async void loadInterstitialAdAsync () {
            await Task.Run(() => loadInterstitialAd());
        }

        private void loadInterstitialAd()
        {
            interstitialAd = new InterstitialAd(interstitialAdID);
            interstitialAd.DismissingOverlay += OnInterstitialDismissingOverlay;
            AdRequest adRequestInterstitial = new AdRequest();
            adRequestInterstitial.ForceTesting = false;
            interstitialAd.LoadAd(adRequestInterstitial);
        }
    }
}

代码说明: initAdMob_managed:用于初始化。在启动时由应用程序调用。加载广告但不显示广告。 showAdMobInterstitial_managed:用于显示已加载的广告。 OnInterstitialDismissingOverlay:在解除广告时执行的回调。我正在使用此方法重新加载广告数据,以便下次显示时它可用,此任务是异步执行的,因为不需要立即加载数据。需要时,将调用showAdMobInterstitial_managed。

最初,我认为它可能是OnInterstitialDismissingOverlay逻辑问题。所以,我完全删除了这个方法(删除此方法会导致重新加载广告时出现问题,但第一次执行应该没有任何问题)。即使在删除后,也没有任何变化。

谢谢, 阿希什

1 个答案:

答案 0 :(得分:0)

我有同样的问题,不同的引擎。你似乎在用橘子酱? 如果您查看WP8的admob插页式样本,您会在关闭广告时看到他们也有这个白色版本。 它只是没有显示那么长,因为上下文切换不需要这么长时间。

我目前使用的引擎也需要一段时间才能从广告切换回游戏。

我猜你遇到了同样的问题?

我的提示:在发布模式下测试你的游戏,没有连接调试器或控制台......这加快了整个过程,白色广告现在只有1秒钟可见,相比之下4-5 ...也许是帮助