0

我试图了解渲染(最终)流程:在Prebid.js Hello World 示例中,有简单的集成:

  1. 不要初始化 GPT。
  2. 进行拍卖,选择获胜者。
  3. 使用获胜者详细信息(价格等)设置 GPT 定位
  4. 刷新 GPT,Ad Server 试图击败价格,成功后,它会发回一个新的获胜者创意。最有趣的是失败的情况 - AdServer 发送回一些带有定位的代码,结果,我看到预投标获胜者呈现在 GPT 块内。

我确实在 prebid.js 源中进行了搜索,但在定位/刷新后 prebid.js 和 GPT 之间没有交互。GPT 如何知道它将呈现什么(以及广告内容)。

4

1 回答 1

0

当标头出价在 Google Ad Manager 中赢得竞价时,GAM 会使用循环回 Prebid.js 以呈现广告素材的代码进行响应。如果您根据Prebid 文档在 Ad Manager 中设置 Prebid 广告素材,则页面上投放的广告素材应如下所示:

<script src = "https://cdn.jsdelivr.net/npm/prebid-universal-creative@latest/dist/creative.js"></script>
<script>
  var ucTagData = {};
  ucTagData.adServerDomain = "";
  ucTagData.pubUrl = "%%PATTERN:url%%";
  ucTagData.targetingMap = %%PATTERN:TARGETINGMAP%%;
  ucTagData.hbPb = "%%PATTERN:hb_pb%%";

  try {
    ucTag.renderAd(document, ucTagData);
  } catch (e) {
    console.log(e);
  }
</script>

的代码ucTag.renderAd可在Prebid Universal Creative repo中找到。renderAd()对于桌面横幅,从 GAM 定位键值(以上广告素材中的TARGETINGMAP宏)获取 Prebid 内部广告 ID,并通过调用 Prebid.js 的window.pbjs.renderAd()或在跨域场景请求中呈现广告来自 Prebid.js 的广告通过postMessage并将其呈现在新的 iframe 中。

于 2020-01-20T08:38:37.290 回答