我无法在我的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>
这也会导致控件消失。
答案 0 :(得分:3)
史蒂夫,
我想我看到了这个问题。您在AdControl.TestMode = true
构造函数中设置了MainPage
,这在应用程序的启动周期中为时已晚。尝试将该行移动到App.xaml.cs
代码隐藏文件的构造函数。 App
类在其他任何内容之前加载,在那里设置模式可以确保它足够早地发生。
这里的理由不是100%肯定,但我的猜测是在呈现控件之前需要设置TestMode
。在MainPage
的{{1}}方法完成时,控件树已完成渲染。
让我们知道它是怎么回事。