我正在使用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
解雇获胜的广告单元时,这应该为您提供有关获胜广告单元的信息bidWon
,bidRequested
和bidResponse
事件是唯一的,因为传递了其他数据,并且可以在您的内联函数中传递它们:
pbjs.que.push(function() {
pbjs.onEvent('bidWon', function(data) {
console.log(data);
});
});