0

我有一个 Windows Phone 8.0 应用程序。我已经在 NuGet 和 AdDuplex(它的依赖项)中下载了 AdRotator(v. 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 肯定没问题,但控件没有显示任何广告。所以尝试了几件事:

  1. 将 Settings.xaml 构建操作更改为内容或资源。在这两种情况下 - 没有效果。
  2. 从设置中删除了 AdMob - 没有效果(据称是有问题的提供商)。
  3. 附加到 AdRotatorReady 事件 - 它会触发但不提供任何详细信息。

最糟糕的是 AdRotator 没有提供任何“错误”事件,所以我不知道问题出在哪里。试图弄清楚发生了什么我发现了一些可疑的东西: IsLoaded 和 IsInitialised 属性都设置为 false。PlatformAdProviderComponents 也没有项目。我在 WP8.1 设备上测试一切,而不是模拟器。

4

1 回答 1

0

最终我找到了我的问题的答案。

  1. 事实证明,设置路径无效。我必须删除开头的斜线(从 /Assets/AdSettings/Settings.xaml 到 Assets/AdSettings/Settings.xaml)

  2. 我之前没有注意到,但 AdRotator 有日志记录事件。它只是静态的,所以 VS 并没有帮助我发现它的存在。要附加到 Log 事件并在 MessageBox 中显示消息,我必须:

    AdRotator.AdRotatorControl.Log += message => Dispatcher.BeginInvoke(() => MessageBox.Show(message));

  3. 当构建操作设置为“内容”时,设置文件似乎工作正常。

于 2015-01-03T19:07:44.550 回答