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

标签 javascript ajax html mobile google-dfp

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

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

我通过 DFP 广告管理系统 - DoubleClick For Publishers 转换广告...我对这个流程当然很陌生。

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

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

非常感谢任何帮助。

最佳答案

据我所知,一旦定义了广告单元,您就无法更改它。

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

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

关于javascript - 在 HTML5 移动网络应用程序中双击 DFP 广告管理系统动态刷新广告单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17047569/

相关文章:

javascript - 在 Angular 1.6 容器中创建 Angular 2 应用程序

javascript - 在 NativeScript 中创建可点击的图像

jQuery:当通过 AJAX 加载时,fadeout() 无法处理绝对定位的元素

javascript - 禁用网页上的鼠标悬停事件

php - 如何将 mysql 表中的数据添加到我已经格式化的 html 页面

javascript - 根据表格内容插入图片

javascript - AngularJS 复杂表设计与 ngRepeat

c# - 使用 RegisterStartupScript、RegisterScriptBlock 等注册的脚本多久执行一次?

javascript - 原始 javascript 打印项目从 json 对象到列表中的屏幕

python - 使用 bs4 和 Python 从 html 表格中提取数据