加载插页式广告时出错

时间:2014-06-12 19:12:50

标签: windows-phone-7 windows-phone-8 admob advertising

我正在尝试将Windows Phone 8应用程序游戏与AdMob集成,但我遇到了一些困难(我正在使用最新的广告暴徒寡妇sdk - 6.5.11)。

我可以加载和显示AdMob横幅没问题,但在尝试加载插页式广告时会出错。

基本上,广告加载时我会遇到以下例外情况:

Microsoft.Phone.Interop.ni.dll中出现“System.SystemException”类型的异常,并且在托管/本机边界之前未处理 Microsoft.Phone.Interop.ni.dll中出现“System.SystemException”类型的异常,并且在托管/本机边界之前未处理 无法收到错误号为NoFill

的整数广告

因此,当我尝试显示添加时,我显然会得到更多例外:

Microsoft.Phone.Interop.ni.dll中出现“System.SystemException”类型的异常,并且在托管/本机边界之前未处理 GoogleAds.InterstitialAd 'TaskHost.exe'(CLR C:\ windows \ system32 \ coreclr.dll:Silverlight AppDomain):已加载'C:\ windows \ system32 \ en-US \ mscorlib.debug.resources.dll'。模块没有符号。 GoogleAds.DLL

中出现“System.NullReferenceException”类型的第一次机会异常

这是我的加载代码:

 public static void LoadAdverts()
        {
            runInUIThread(
                () =>
                {
                    LoadGoogleInterstitialAd();    
                });
        }


        private static void LoadGoogleInterstitialAd()
        {
            // Initialize the ad
            mGoogleInterstitialAd = new InterstitialAd(mGoogleInterstitialAdUnitID);

            // Attach the interstitial event handlers.
            mGoogleInterstitialAd.ReceivedAd += OnGoogleInterstitialAdReceived;
            mGoogleInterstitialAd.FailedToReceiveAd += OnFailedToReceiveGoogleInterstitialAd;
            mGoogleInterstitialAd.DismissingOverlay += OnDismissingGoogleOverlay;

            AdRequest mGoogleInterstitialAdRequest = new AdRequest();
            mGoogleInterstitialAdRequest.ForceTesting = true;

            mGoogleInterstitialAd.LoadAd(mGoogleInterstitialAdRequest);
        }

LoadAd()方法是生成初始系统异常的方法。

然后展示广告:

 public static void DisplayOverlayAdvert()
        {
            // Check that the overlay ad is not already displayed.
            if (!mIsGoogleInterstitialAdActive)
            {
                runInUIThread(
                    () =>
                    {
                        DisplayGoogleInterstitialAd();
                    });
            }
        }

        /// <summary>
        /// This method displays an advert in the advert container grid.
        /// </summary>
        private static void DisplayGoogleInterstitialAd()
        {
            mGoogleInterstitialAd.ShowAd();

            // Set the flag to true as the ad is displayed.
            mIsGoogleInterstitialAdActive = true;
        }

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我会猜测在DisplayGoogleInterstitialAd之前调用LoadGoogleInterstitialAd