как я могу проверить длину строки URL-адреса вызова Google DFP?

Мне нужно передать кучу пользовательских параметров в рекламный вызов Google DFP. Если запрос объявления превышает 2000 символов, некоторые переданные в него параметры усекаются. Я хотел бы знать, сколько символов будет занимать текущий вызов, и вручную обрезать некоторые значения, вместо того, чтобы Google делал это за меня. Как узнать продолжительность разговора?


person nuway    schedule 21.08.2014    source источник


Ответы (2)


Я знаю, что это довольно старый вопрос, но несколько месяцев назад у меня была такая же проблема вместе с несколькими другими вопросами об URL-адресе, поэтому я решил поделиться.

Добавьте следующее в свой код перед вызовом display.
Что это делает:

/**
 * ##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-идентификатор контейнера этого объявления.
  • getContentUrl: возвращает нужный URL.
person Richard Dillman    schedule 30.08.2015

Очень простой способ сделать это с помощью jQuery:

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

Это предполагает многое, но работает в нашем экземпляре DFP.

person banderson623    schedule 04.03.2015