我正在构建一个HTML5移动web应用程序。
加载、初始化和构建接口。然后,用户可以使用它通过提要拉入内容。因此,用户正在查看的内容发生了变化,并显示在现有的界面中。
我通过DFP - DoubleClick为出版商提供广告…我对这个过程肯定是陌生的
在头部,我运行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]);
This works fine…除了用户正在查看不同的内容,所以init上设置的adunit字符串不再是最新的。我需要更新那个字符串。但是我找不到一个方法去做。
我有一个JSFiddle例子:http://jsfiddle.net/wqMXV/3/
该示例有3个按钮,反映用户查看不同的内容。
一旦你定义了adunit,就我所知,你不能改变它。
你可以做的是设置在广告单元中显示的行项,用一个自定义的目标字符串来定位,然后你可以使用这里描述的clearTargeting和setttargeting方法来设置一个新的自定义的目标字符串,然后再触发你的刷新命令。
这应该允许你根据用户在应用中的位置来改变广告。