在HTML5移动网络应用中动态双击DFP广告管理系统刷新广告单元

时间:2013-06-11 15:10:19

标签: javascript ajax html5 mobile google-dfp

我正在构建一个HTML5移动Web应用程序。

加载,初始化和构建界面。 然后,用户可以使用它通过订阅源提取内容。因此,用户正在查看的内容发生变化,并显示在现有界面中。

我通过DFP广告管理系统投放广告 - DoubleClick For Publishers ...这个我当然不熟悉的过程。

在头部,我运行init代码:

var ad1;

// THIS IS THE STRING THAT NEEDS TO CHANGE TO REFLECT DIFFERENT CONTENT ***
var adunit = '/8013/digital.first.media.test.site/Mobile/News';     

googletag.cmd.push(function() {
    ad1 = googletag.defineSlot( adunit, [[300, 50], [320, 50]],  'story_ad_top').setTargeting('pos',['mobile_section_top']).addService(googletag.pubads());
    googletag.pubads().enableAsyncRendering();
    googletag.pubads().disableInitialLoad();        //turns off rendering on initial load
    googletag.enableServices();
});

然后我可以随时通过调用来刷新广告:

googletag.pubads().refresh([ad1]);

这很好用...除了用户正在查看不同的内容,因此在init上设置的adunit字符串不再是最新的。我需要更新那个字符串...但我找不到办法做到这一点。

我有一个JSFiddle示例: http://jsfiddle.net/wqMXV/3/

该示例有3个按钮,反映用户查看不同的内容。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

一旦你定义了adunit,就我所知,你无法改变它。

您可以做的是设置该广告单元中显示的订单项,并使用自定义定位字符串进行定位,然后您可以使用clearTargeting和setTargeting方法described here来设置新的自定义定位字符串触发刷新命令。

这应该允许您根据用户在应用中的位置更改广告。