我正在构建一个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个按钮,反映用户查看不同的内容。
非常感谢任何帮助。
答案 0 :(得分:0)
一旦你定义了adunit,就我所知,你无法改变它。
您可以做的是设置该广告单元中显示的订单项,并使用自定义定位字符串进行定位,然后您可以使用clearTargeting和setTargeting方法described here来设置新的自定义定位字符串触发刷新命令。
这应该允许您根据用户在应用中的位置更改广告。