1

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

它加载、初始化和构建接口。然后,用户可以使用它通过提要提取内容。所以用户正在查看的内容会发生变化,并显示在现有界面中。

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

在头部,我运行初始化代码:

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 个按钮,反映用户查看不同的内容。

任何帮助是极大的赞赏。

4

1 回答 1

0

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

您可以做的是将在该广告单元中显示的订单项设置为使用自定义定位字符串进行定位,然后您可以使用此处描述的 clearTargeting 和 setTargeting 方法在触发刷新命令之前设置新的自定义定位字符串。

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

于 2013-06-11T15:48:56.133 回答