WP7 Microsoft广告AdControl消失并抛出异常

时间:2011-04-16 00:30:47

标签: windows-phone-7 advertising

我无法在我的Silverlight WP7应用程序中实现AdControl。昨天我在PubCenter注册并设置了一个新的Windows Phone 7应用程序。 PubCenter告诉我它已获批准并向我提供了我的申请ID。对于这篇文章,我们假设应用程序ID为abc-123。接下来,我创建了一个名为“Developer”的广告单元(我的应用程序适用于开发人员)。

我选择了两个类别(技术与计算 - 全部,教育 - 研究生院)。我选择了“6:1比例大横幅(216 * 36)”作为我的广告单元格式。我不确定广告格式,但在我保存后,我无法更改它。对于此帖子,我们假设广告单元ID为55555

我安装了适用于Microsoft广告的SDK,然后将参考Microsoft.Advertising.Mobile.UI添加到我的手机项目中。

我将AdControl添加到我的一个xaml页面中:

<UI:AdControl ApplicationId="abc-123" AdUnitId="55555" AdModel="Contextual"></UI:AdControl>

使用命名空间:

xmlns:UI="clr-namespace:Microsoft.Advertising.Mobile.UI;assembly=Microsoft.Advertising.Mobile.UI" 

在页面后面的代码中,我有控件,我已经设置了测试模式,就像教程建议的那样:

using Microsoft.Advertising.Mobile.UI;
...
public MainPage()
{
    InitializeComponent();
    AdControl.TestMode = true;
}

当我运行应用程序并导航到页面时,我看到AdControl的灰色边框片刻,然后AdControl消失。没有运行时错误或任何可能会停止执行的事如果我查看输出窗口,我可以看到控件失败:

  

'taskhost.exe'(已管理):已加载   '\应用程序\安装\ D9123383-1522-4DCC-A270-AD0E7B642996 \安装\ Microsoft.Advertising.Mobile.UI.dll'   'taskhost.exe'(已管理):已加载   '\应用程序\安装\ D9123383-1522-4DCC-A270-AD0E7B642996 \安装\ Microsoft.Phone.Controls.dll'   'taskhost.exe'(已管理):已加载   'System.Windows.debug.resources.dll'A   第一次机会异常的类型   'System.Net.WebException'发生在   System.Windows.dll第一次机会   类型例外   'System.Net.WebException'发生在   System.Windows.dll第一次机会   类型例外   'System.Net.WebException'发生在   Microsoft.Advertising.Mobile.UI.dll

我尝试部署到开发人员设备并将测试模式设置为false,结果相同。我甚至尝试过我在网上看到的测试参数:

<UI:AdControl ApplicationId="test_client" AdUnitId="Image480_80" AdModel="Contextual"></UI:AdControl>

这也会导致控件消失。

1 个答案:

答案 0 :(得分:3)

史蒂夫,

我想我看到了这个问题。您在AdControl.TestMode = true构造函数中设置了MainPage,这在应用程序的启动周期中为时已晚。尝试将该行移动到App.xaml.cs代码隐藏文件的构造函数。 App类在其他任何内容之前加载,在那里设置模式可以确保它足够早地发生。

这里的理由不是100%肯定,但我的猜测是在呈现控件之前需要设置TestMode。在MainPage的{​​{1}}方法完成时,控件树已完成渲染。

让我们知道它是怎么回事。