使用HTML5的Windows 8 AdControl

时间:2013-05-29 18:33:25

标签: html5 windows-store-apps windows-store

我以这种方式设置了Windows 8 AdControl:

<div id="adControl" style="width: 728px; height: 90px; border: solid 1px red; visibility:visible;"
    data-win-control="MicrosoftNSJS.Advertising.AdControl"
    data-win-options="{applicationId: 'abc-1234', adUnitId: '12345'}">
</div>

我知道控件正在显示,因为我可以看到它周围有一条红线。但是,我没有看到任何广告正在呈现(广告已注册)。我在使用XAML的Metro应用程序中拥有相同的控件,我看到广告很好。

我还缺少使用HTML5的广告吗?

编辑:

SDK包含在项目中。

2 个答案:

答案 0 :(得分:1)

问题的原因来自许多不同的事情。基本上,您应该跟进一些重要细节,尤其是最后一颗子弹:

  • 您必须为AdControl指定高度和宽度。未能指定高度和宽度属性,或将它们设置为自动,将导致沮丧的泪水。我推荐80像素高,480像素宽,因为这是微软提供的广告的原始尺寸。
  • 您似乎不能在同一页面上拥有两个AdControls,或者至少不能在同一个父元素中。第二个将崩溃。可能有一种解决方法,但我在构建我的演示应用程序时发现了它并且不关心寻求解决方案。
  • 您必须必须在WMAppManifest.xml文件中指定某些功能。由于我正在升级我的应用程序,因此我没有声明一些较新的功能。导致所有麻烦的是ID_CAP_IDENTITY_USER。控件正常运行需要以下功能:

    <Capabilities>
        <Capability Name="ID_CAP_IDENTITY_USER"/>
        <Capability Name="ID_CAP_MEDIALIB"/>
        <Capability Name="ID_CAP_NETWORKING"/>
        <Capability Name="ID_CAP_PHONEDIALER"/>
        <Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/>
    </Capabilities>
    

See more information here

答案 1 :(得分:0)

好的 - 最后我完全意外地怀疑了这件事。一个明显的错误,但很难发现Javascript的“无错误”政策!问题是我没有包含脚本:

<script src="/MSAdvertisingJS/ads/ad.js"></script>

我添加了引用,并且我没有想到它也需要它。