windows-phone-8 - Windows Phone 8 AdControl AdException?

标签 windows-phone-8 windows-phone ads

过去几周我一直在测试新的 Windows Phone 8 应用程序。我尚未将其发布到应用商店,因此我仅使用测试值(即“test_client”和“Image480_80”)测试了我的 AdControls

有一天我注意到,当我启动应用程序时,我会看到 AdControl 一秒钟,然后它就消失了。应用程序的界面上没有抛出任何错误,但在“输出”窗口中我可以看到以下异常:

An exception of type 'Microsoft.Advertising.Shared.AdException' occurred in Microsoft.Advertising.Mobile.DLL and wasn't handled before a managed/native boundary

这是堆栈跟踪:

at Microsoft.Advertising.Shared.AdvertisementFactory.CreateFromResponse(String response, AdDownloadCompleteCallback adDownloadCompleteCallback)\r\n
at Microsoft.Advertising.Shared.AdPlacement.CreateAdvertisement(Byte[] bytes)\r\n at Microsoft.Advertising.Shared.AdPlacement.AdRequestComplete(IWebRequestWrapper request)

这是我的代码,它将 AdControl 添加到我的 Grid:

    AdControl adControl = new AdControl("test_client", "Image480_80", true);

    adControl.Width = 480;
    adControl.Height = 80;

    adControl.ErrorOccurred += AdUnit_ErrorOccurred;

    MyGrid.Children.Add(adControl);

    Grid.SetRow(adControl, 4);
    Grid.SetColumn(adControl, 4);

直到几天前,这个工作正常,所以我不确定代码是否需要更改,但是还有什么我可以检查的吗?我看到一篇文章说要确保我的 WMAppManifest.xml 文件中具有所需的功能。这是我目前所拥有的:

<Capabilities>
  <Capability Name="ID_CAP_NETWORKING" />
  <Capability Name="ID_CAP_MEDIALIB_AUDIO" />
  <Capability Name="ID_CAP_MEDIALIB_PLAYBACK" />
  <Capability Name="ID_CAP_SENSORS" />
  <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
  <Capability Name="ID_CAP_IDENTITY_USER" />
  <Capability Name="ID_CAP_MEDIALIB_PHOTO" />
  <Capability Name="ID_CAP_PHONEDIALER" />
</Capabilities>

有谁知道我可以检查的其他内容 - 或者知道我可能做错了什么?我真的很困惑。如果我可以从 Exception 对象发布任何其他内容(除了上面的堆栈跟踪之外),请告诉我,尽管我没有看到任何暗示可能存在问题的内容。

更新:

我还可以确认,使用我的实际 ApplicationID 和 AdUnitID 代替测试值会发生完全相同的情况。还有其他人经历过这种情况吗?

更新2:

我一直在与 PubCenter 支持人员来回发送电子邮件,他们显然能够重现该问题,因为帮助我的分析师(支持分析师 II)现在已经让工程团队来调查该问题。分辨率上没有预计时间,但他们说在实际设备上测试时使用我的实际 ApplicationID 和 AdUnitID 应该可以工作(尽管我已经确认它在我的模拟器中不起作用)。

更新3:

我仍在等待 PubCenter 支持部门的回复,但我现在已经确认,如果我使用真实的 ApplicationID 和 AdUnitID,广告就会成功运行。以前,我认为这不起作用,但看起来只有在模拟器中运行时才不起作用 - 在设备本身上,它们工作正常。所以这只是测试广告似乎不起作用,既然如此,我并不太担心。

更新 4(解决方案):

好的 - 经过几周与 PubCenter 支持人员的反复讨论,我终于有了一个解决方案,尽管我很确定这是他们的问题,但现在已经解决了。我创建了一个非常简单的测试解决方案,它演示了我发送给他们的问题,他们最终得出的结论是:

AdControl adControl = new AdControl("Test_client", "Image480_80", true);

需要是这样的:

AdControl adControl = new AdControl("test_client", "Image480_80", true);

最佳答案

要查找更具体的错误信息,您可以检查 AdErrorEventArgs传递到AdControl.ErrorOccurred event你已经注册了。如果该信息仍然不清楚,请将错误/错误代码添加到您的问题中。

我看到此异常的原因是没有可显示的广告(即您指定的要显示的广告选择太窄,并且没有可用的匹配广告),但在这种情况下应该如此查看错误时要清楚。

关于windows-phone-8 - Windows Phone 8 AdControl AdException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14428896/

相关文章:

c# - Windows Phone 8 异步等待用法

c# - Windows Phone 8 消息框问题

c# - Windows Phone 数据绑定(bind)列表选择器到字符串列表

plugins - 如何在 Windows Phone 8 XAP 中包含另一个程序集

android - 如何填写数据安全?

c# - Windows Phone 8 C# 中弹出通知框时触发事件监听器

c# - WP7,我能以某种方式在开始菜单中的应用程序磁贴上捕获触摸事件吗?

android - 如何在 Android 应用程序中测试视频广告 (Vungle)

android - 是否可以将 Facebook 移动 SDK 仅用于移动应用安装广告?

dependency-injection - Windows Phone 8 的 IoC/DI 库是什么?