Windows Phone 上的 AdRotator 不显示广告
AdRotator on Windows Phone doesn't display ads
我有一个 Windows Phone 8.0 应用程序。我已经在 NuGet 和 AdDuplex(它的依赖项)中下载了 AdRotator(2.1.1 版)。我已经下载了 AdMob SDK 并在我的项目中引用了它。然后我将控件添加到 MainPage.xaml:
<adRotator:AdRotatorControl
x:Name="AdRotatorControl"
BorderBrush="Aquamarine"
BorderThickness="2"
Height="90"
Grid.Row="2"
LocalSettingsLocation="/Assets/AdSettings/Settings.xaml"
AutoStartAds="True" />
注意:边框和高度只是因为我想确保控件显示在正确的位置。好像是。
然后我将设置文件放入 /Assets/AdSettings/Settings.xaml:
<?xml version="1.0" encoding="utf-8"?>
<AdSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CultureDescriptors CultureName="">
<AdMob AppId="XXXXXX" Probability="50" AdOrder="1" />
<AdDuplex AppId="XXXXX" Probability="50" AdOrder="2" />
</CultureDescriptors>
</AdSettings>
我的 AppId 肯定没问题,但控件不显示任何广告。所以尝试了几件事:
- 已将 Settings.xaml 构建操作更改为内容或资源。在这两种情况下 - 都没有效果。
- 从设置中删除了 AdMob - 没有效果(据称是有问题的提供商)。
- 附加到 AdRotatorReady 事件 - 它触发但不提供任何详细信息。
最糟糕的是 AdRotator 没有提供任何 "Error" 事件,所以我不知道问题出在哪里。为了弄清楚发生了什么,我发现了一些可疑的东西:IsLoaded 和 IsInitialised 属性都设置为 false。 PlatformAdProviderComponents 也没有项目。我正在 WP8.1 设备上测试所有内容,而不是模拟器。
最终我找到了问题的答案。
事实证明,设置路径无效。我不得不删除开头的斜杠(从 /Assets/AdSettings/Settings.xaml 到 Assets/AdSettings/Settings.xaml)
之前没注意到,AdRotator 有记录事件。它只是静态的,所以 VS 没有帮助我发现它的存在。要附加到 Log 事件并在 MessageBox 中显示消息,我必须:
AdRotator.AdRotatorControl.Log += 消息 => Dispatcher.BeginInvoke(() => MessageBox.Show(消息));
设置文件在构建操作设置为 "Content" 时似乎工作正常。
我有一个 Windows Phone 8.0 应用程序。我已经在 NuGet 和 AdDuplex(它的依赖项)中下载了 AdRotator(2.1.1 版)。我已经下载了 AdMob SDK 并在我的项目中引用了它。然后我将控件添加到 MainPage.xaml:
<adRotator:AdRotatorControl
x:Name="AdRotatorControl"
BorderBrush="Aquamarine"
BorderThickness="2"
Height="90"
Grid.Row="2"
LocalSettingsLocation="/Assets/AdSettings/Settings.xaml"
AutoStartAds="True" />
注意:边框和高度只是因为我想确保控件显示在正确的位置。好像是。
然后我将设置文件放入 /Assets/AdSettings/Settings.xaml:
<?xml version="1.0" encoding="utf-8"?>
<AdSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CultureDescriptors CultureName="">
<AdMob AppId="XXXXXX" Probability="50" AdOrder="1" />
<AdDuplex AppId="XXXXX" Probability="50" AdOrder="2" />
</CultureDescriptors>
</AdSettings>
我的 AppId 肯定没问题,但控件不显示任何广告。所以尝试了几件事:
- 已将 Settings.xaml 构建操作更改为内容或资源。在这两种情况下 - 都没有效果。
- 从设置中删除了 AdMob - 没有效果(据称是有问题的提供商)。
- 附加到 AdRotatorReady 事件 - 它触发但不提供任何详细信息。
最糟糕的是 AdRotator 没有提供任何 "Error" 事件,所以我不知道问题出在哪里。为了弄清楚发生了什么,我发现了一些可疑的东西:IsLoaded 和 IsInitialised 属性都设置为 false。 PlatformAdProviderComponents 也没有项目。我正在 WP8.1 设备上测试所有内容,而不是模拟器。
最终我找到了问题的答案。
事实证明,设置路径无效。我不得不删除开头的斜杠(从 /Assets/AdSettings/Settings.xaml 到 Assets/AdSettings/Settings.xaml)
之前没注意到,AdRotator 有记录事件。它只是静态的,所以 VS 没有帮助我发现它的存在。要附加到 Log 事件并在 MessageBox 中显示消息,我必须:
AdRotator.AdRotatorControl.Log += 消息 => Dispatcher.BeginInvoke(() => MessageBox.Show(消息));
设置文件在构建操作设置为 "Content" 时似乎工作正常。