1

我正在使用 prebid.js 来进行标头竞价。我的代码与此处的示例非常相似:

http://prebid.org/dev-docs/examples/postbid.html

从示例中的第 11 行开始 - 我设置了 adUnitBids,即demand tags它将参与拍卖。

一旦我在拍卖中获得了获胜者(查看示例中的第 64 行),我就有了保存拍卖结果的 params 变量,例如 {hb_size: "300x250", hb_pb: "0.70", hb_adid: "519325bc9adf98ef", hb_bidder: "appnexus"}

现在我想知道哪个标签赢了。使用params.hb_bidder == "appnexus"I 的值可以通过 adUnitBids 找到带有bidder == "appnexus". 这不是一个非常非法的解决方案,但它可以完成工作。

问题开始于同一个合作伙伴的标签不止一个,例如:

var adUnitBids = [ { bidder: 'appnexus', params: { placementId: '10433394' } }, { bidder: 'appnexus', params: { placementId: '123' } }, ]

我会知道appnexus赢了,但不知道哪个标签(即使是 adUnitBids 数组中的索引对我来说也完全足够了)。

我查看了Prebid.js 文档中可用方法的列表,但找不到可以帮助我解决此问题的方法。

有什么解决办法吗?先感谢您。

4

1 回答 1

0

尝试查看onEvent事件。这应该会为您提供有关获胜的 adunits 的信息,因为它们被解雇了pbjs.renderAd

,和事件的独特之处在于传递了额外的数据,并且可以在您的内联函数中传递bidWonbidRequestedbidResponse

pbjs.que.push(function() {
    pbjs.onEvent('bidWon', function(data) {
        console.log(data);
    });
});
于 2018-05-08T18:08:30.283 回答