Windows phone 8 Microsoft windows phone 8:AdControl广告显示在模拟器中,但不显示在设备上

Windows phone 8 Microsoft windows phone 8:AdControl广告显示在模拟器中,但不显示在设备上,windows-phone-8,Windows Phone 8,这是我的密码 <UI:AdControl Height="80" Width="480" Margin="0,315,0,4" AdUnitId="Image480_80" ErrorOccurred="AdUnit_ErrorOccurred" ApplicationId="test_client" Visibility=

这是我的密码

<UI:AdControl Height="80"
              Width="480"
              Margin="0,315,0,4"
              AdUnitId="Image480_80"
              ErrorOccurred="AdUnit_ErrorOccurred"
              ApplicationId="test_client"
              Visibility="Visible"
              Name="adControl1"
              />
public MainPage()
{
    InitializeComponent();
    Thread.Sleep(1000);          
}

void AdUnit_ErrorOccurred(object sender, Microsoft.Advertising.AdErrorEventArgs e)
{
    System.Diagnostics.Debug.WriteLine("ad error " + e.Error.Message.ToString());
}
当我在emulator中运行它时,它会出现,但在设备中,它不会出现


另外,当我添加真实的
应用程序ID
AdUnitId
(e.Error.Message=“无可用广告”)

你需要在Microsoft PubCenter中创建一个帐户,并通过在PubCenter中注册你的应用程序为你的应用程序创建一个广告单元,然后你将从Pub center获得应用程序ID和AdUnitId。那么你的广告控制器代码应该是这样的

<UI:AdControl ApplicationId="test_client" 
              AdUnitId="Image480_80" 
              HorizontalAlignment="Left" 
              Height="80" Margin="0,72,-24,0" 
              VerticalAlignment="Top" Width="480" 
              IsAutoCollapseEnabled="True" 
              IsAutoRefreshEnabled="True"/>

根据从中获取的值替换
ApplicationId
AdUnitId
。当您在emulator pubCenter上运行此命令时,测试广告将在一段时间后出现。实际广告仅适用于设备

注意。即使您的ApplicationId和AdUnitId是正确的,也不会显示广告,具体取决于您的设备所在的位置。有时广告不可用,则会触发
erroroccurrent
事件,如果需要,您可以捕获该事件,并在pubCenter广告不可用时使用另一个AdController(如
AdDuplex
)显示广告


从youtube上了解如何使用AdDuplex以及如何将其与Microsoft Ad Control一起使用

是否需要在商店中发布应用程序???我这样做了,但当我用真实id替换时,它在设备上不起作用。是否需要在商店中发布应用程序???它在模拟器上工作吗?我的意思是测试广告是否显示,有时取决于你在广告中的位置,广告不可用。所以,即使一切都是正确的广告将不会显示。是的,它在模拟器工作。我如何解决位置问题?你不能,就是这样,看看编辑后的答案,在pubCenter广告不可用时,使用adDuplex作为备份广告控制器。