设置存储在 JSON 对象中的 DFP 定位键值

Set DFP targeting key-values stored in JSON object

我正在尝试将 DFP 键值列表存储在 JSON 对象中,并使用 javascript 循环列表中的每个键值对以将它们设置为页面级定位Google 发布商代码中的参数。

window.dfpData = {"dfpKV":{"key1":"value","key2":"value2","key3":"value1,value2,value3","key4":["value4","value5","value6"]}}

我正在使用这个函数,它不会抛出任何错误,但也不会执行:

  if (dfpData.dfpKV) {
for (var i = 0; i < dfpData.dfpKV; i ++) {
  var item = dfpData.dfpKV[i];
  googletag.pubads().setTargeting(item[0], item[1]);
}

结果输出应该相当于多行:

googletag.pubads().setTargeting("key1",["value"]);
googletag.pubads().setTargeting("key2",["value2"]);
googletag.pubads().setTargeting("key3",["value1,value2,value3"]);
googletag.pubads().setTargeting("key4",["value4","value5","value6"]);

Codepen 是 here:

如果您能提供任何帮助,我们将不胜感激!

这不是遍历对象中包含的值的正确方法。尝试

if (dfpData.dfpKV) {
  Object.keys(dfpData.dfpKV).forEach(function(key) {
     googletag.pubads().setTargeting(key, dfpData.dfpKV[key]);
  })
}