我发现了一些零星的反应,类似的问题(主要是随着Windows Phone 7),但想后包含的Windows Phone 8的广告都要求一个答案。
我一直有一些问题设定的Windows Phone 8,每当我遇到我遇到了一个问题,模拟器一个广告在其中的应用程序将运行,但该广告就不会出现。
该应用程序运行正常,但我在下面的异常被记录在输出控制台注意:
An exception of type 'Microsoft.Advertising.Shared.AdException' occurred in Microsoft.Advertising.Mobile.DLL and wasn't handled before a managed/native boundary
广告显示了罚款,在一个应用程序,我发展,但不是另一个和异常不显示任何有用的信息。
我想出如何捕获异常,看看这个问题实际上是(这是大量的在我的清单文件丢失的能力)。 为了尝试,赶上从广告控制异常,并得到我所需要的数据,添加以下到我的网页。
抓住广告控制误差
public MainPage()
{
InitializeComponent();
AdUnit.ErrorOccurred += AdUnit_ErrorOccurred;
}
void AdUnit_ErrorOccurred(object sender, Microsoft.Advertising.AdErrorEventArgs e)
{
throw new NotImplementedException();
}
这表明我,我错过了mediaLib权限和电话拨号权限。 我进行了一些测试,并确定运行广告的任何应用程序将需要以下权限:
所需的权限
ID_CAP_IDENTIFY_USER
ID_CAP_MEDIALIB_PHOTO
ID_CAP_NETWORKING
ID_CAP_PHONEDIALER
ID_CAP_WEBBROWSERCOMPONENT
设置参数
从其他职位我读过它同样重要的是确保你正确设置你的广告单元的宽度/高度八十零分之四百八十〇,如果是汽车,没有最低demensions则广告将不会展示。
确保在模拟器,你只能使用查看测试的applicationID和adUnitId设置 。 PubCenter证书将只在已发布的应用程序。
<UI:AdControl x:Name="AdUnit" Height="80" Width="480"
AdUnitId="Image480_80" ApplicationId="test_client" />
隐藏或覆盖失败/空的广告控件
如果你的广告控制失败,留下您的广告一大空白。 您可以隐藏或从其他网络广告交换它。 要做到这一点,抓如上图(例外AdUnit_ErrorOccurred
),并加入以下内容:
隐藏:
AdUnit.Height = 0;
AdUnit.Visibility = System.Windows.Visibility.Collapsed;
设置知名度并没有对自己的工作,高度必须设置为0为好。
交换广告:
相反,隐藏广告控制的,你可以显示来自像一个服务的替代广告栏http://www.adduplex.com 。