windows-phone-7 – Inneractive Ads会导致很多应用程序崩溃(Win
发布时间:2020-12-14 02:46:26 所属栏目:Windows 来源:网络整理
导读:我使用InnerActive作为我的 Windows Phone应用程序的默认广告提供.我从2013年6月开始使用它,在年终分析中,我发现InnerActive广告是我应用程序崩溃的主要来源.最糟糕的是,它的代码不是我没有任何控制权.我已经针对请求Inneractive Ads的每个操作放置了“try c
我使用InnerActive作为我的
Windows Phone应用程序的默认广告提供.我从2013年6月开始使用它,在年终分析中,我发现InnerActive广告是我应用程序崩溃的主要来源.最糟糕的是,它的代码不是我没有任何控制权.我已经针对请求Inneractive Ads的每个操作放置了“try catch”.
有谁知道如何解决这个问题? 我用来请求广告的代码在哪里: private void LoadInnerActiveAds() { try { if (DeviceNetworkInformation.IsNetworkAvailable) { // Watch location if (_allowAdLocationTracker) { IaLocationClass iaLocation = new IaLocationClass(); iaLocation.Done += new EventHandler<IaLocationEventArgs>(InnerActiveLocation_Done); iaLocation.StartWatchLocation(); } optionalParams = new Dictionary<InneractiveAd.IaOptionalParams,string>(); //optionalParams.Add(InneractiveAd.IaOptionalParams.Key_Gender,"m"); optionalParams.Add(InneractiveAd.IaOptionalParams.Key_Ad_Alignment,InneractiveAd.IaAdAlignment.CENTER.ToString()); optionalParams.Add(InneractiveAd.IaOptionalParams.Key_OptionalAdWidth,"480"); optionalParams.Add(InneractiveAd.IaOptionalParams.Key_OptionalAdHeight,"80"); } //Show Add Banner. Remarks: pay attention to use Application Id from NAX //naxAd.Childred.Count()==0 => just to add one banner control on a page. Without this,code would add as many banners as you navigate to page where banner is placed if (optionalParams != null && AdsUIContainer.Children.Count == 0) { InneractiveAd iaBanner = new InneractiveAd(AdsAppId,InneractiveAd.IaAdType.IaAdType_Banner,30,optionalParams); iaBanner.AdFailed += new InneractiveAd.IaAdFailed(InneractiveAd_AdFailed); Deployment.Current.Dispatcher.BeginInvoke(() => { UpdateUI(iaBanner); }); } } catch (Exception ex) { InneractiveAd_AdFailed(ex); } } 这种堆栈跟踪可能有所帮助,但请记住这是我无法控制的代码. Frame ? ?Image ? ? ? ? ? ? ? ?Function ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Offset ? ? ? ? 0 ? ? ? ?system_xml_ni ? ? ? ?System.Xml.XmlTextReaderImpl.Throw ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0x00000036 ? ? 1 ? ? ? ?system_xml_ni ? ? ? ?System.Xml.XmlTextReaderImpl.ParseDocumentContent ? ? ? ? ? ? ? ? ? ? ?0x00000438 ? ? 2 ? ? ? ?system_xml_ni ? ? ? ?System.Xml.XmlTextReaderImpl.Read ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?0x00000036 ? ? 3 ? ? ? ?system_xml_ni ? ? ? ?System.Xml.XmlReader.ReadToFollowing ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0x0000003c ? ? 4 ? ? ? ?inneractive_ad_ni ? ?Inneractive.Ad.InneractiveAdControl.ParseCPDXml ? ? ? ? ? ? ? ? ? ? ? ?0x0000007c ? ? 5 ? ? ? ?inneractive_ad_ni ? ?Inneractive.Ad.InneractiveAdControl.webClient_UploadStringCompleted ? ?0x000000aa ? ? 6 ? ? ? ?system_net_ni ? ? ? ?System.Net.WebClient.OnUploadStringCompleted ? ? ? ? ? ? ? ? ? ? ? ? ? 0x00000010 ? ? 7 ? ? ? ?system_net_ni ? ? ? ?System.Net.WebClient.UploadStringOperationCompleted ? ? ? ? ? ? ? ? ? ?0x00000034 解: 根据Soonts的建议,这就是我提出的: 在App.xaml.cs文件中找到“Application_UnhandledException”方法并将其替换为: // Code to execute on Unhandled Exceptions private void Application_UnhandledException(object sender,ApplicationUnhandledExceptionEventArgs e) { if (e.ExceptionObject.StackTrace.Contains("Inneractive.Ad.InneractiveAdControl")) { // Recover from the error e.Handled = true; return; } if (Debugger.IsAttached) { // An unhandled exception has occurred; break into the debugger Debugger.Break(); } } 如果您找到更好的替代品,请告诉我. 解决方法
首先,联系InnerActive告诉他们修复他们的软件.这是他们的责任.
同时,如果您知道如何重现该问题,您可以尝试以下.订阅所有未处理的异常(从Application.UnhandledException开始,也有AppDomain.UnhandledException和TaskScheduler.UnobservedTaskException),在Exception.StackTrace中处理器搜索“Inneractive.Ad.InneractiveAdControl”,如果找到 – 忽略异常,并且可选地隐藏或重新加载不相关的横幅. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读