我正在使用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"的值,我可以遍历adUnitBids并使用bidder == "appnexus"找到一个。这不是一个非常简单的解决方案,但可以完成工作。

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

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

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

我浏览了可用的methods in Prebid.js documentation列表,但找不到可以帮助解决此问题的列表。

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

最佳答案

尝试查看onEvent events。当您从pbjs.renderAd解雇获胜的广告单元时,这应该为您提供有关获胜广告单元的信息

bidWonbidRequestedbidResponse事件是唯一的,因为传递了其他数据,并且可以在您的内联函数中传递它们:

pbjs.que.push(function() {
    pbjs.onEvent('bidWon', function(data) {
        console.log(data);
    });
});

10-06 02:31