2

我需要将一堆自定义参数传递到 Google DFP 广告调用中。如果广告请求超过 2,000 个字符,则传递给它的某些参数会被截断。我想知道当前调用需要多少个字符并手动截断一些值,而不是谷歌为我做。如何获得通话时长?

4

2 回答 2

1

我知道这是一个很老的问题,但几个月前我遇到了同样的问题以及关于 URL 的其他几个问题,所以我想分享一下。

在显示调用之前将以下内容添加到您的代码中。
这是做什么的:

/**
 * ##logUrl
 * Logs the ID of the ad and the length of its URL at render time.
 * @param {Event} e - GPT's slotRenderEnded event.
 */
logUrl = function(e) {
  var str = e.slot.getSlotId().getDomId() +
  ' URL length: ' + e.slot.getContentUrl().length;
  console.log(str);
}

googletag.cmd.push(function () {
  googletag.pubads().addEventListener('slotRenderEnded', logUrl);
});

解释

  • slotRenderEnded:此事件在广告的 Iframe 构建后立即触发。
  • slot:返回 google 所知道的关于此广告的所有信息。
  • getSlotId:从 googletag 对象返回槽的长标识符。
  • getDomId:返回此广告容器的 html ID。
  • getContentUrl:返回我们想要的 URL。
于 2015-08-30T02:38:55.987 回答
0

使用 jQuery 执行此操作的一个非常简单的方法是:

var dfpRequestLength = jQuery('script[src*="gampad/ads"]').attr('src').length;

这假设很多,但适用于我们的 DFP 实例。

于 2015-03-04T23:23:00.613 回答