Prebid.js 没有将出价传递给 DFP
Prebid.js isn't passing bid to DFP
我从 Prebid.js 中获取了示例并更改了代码中的投标人。
奇怪的是,虽然我有出价响应,但它没有通过 prev_scp 参数 传递给 DFP,没有呈现也没有显示在 getAllPrebidWinningBids
pbjs.getBidResponse() returns出价
pbjs.getAllWinningBids() returns 空数组
pbjs.getAllPrebidWinningBids() returns 空数组
HTML:
<script async src="//www.googletagservices.com/tag/js/gpt.js"></script>
<script async src="//acdn.adnxs.com/prebid/not-for-prod/1/prebid.js"></script>
<script>
var sizes = [
[300, 250]
];
var PREBID_TIMEOUT = 1700;
var adUnits = [{
code: '/19968336/header-bid-tag-1',
mediaTypes: {
banner: {
sizes: sizes
}
},
bids: [{
"bidder": "ix",
"params": {
"id": "07",
"siteId": "272669",
"size": [
300,
250
],
"floor": 0.6,
"bidfloorcur": "USD"
}
}]
}];
// ======== DO NOT EDIT BELOW THIS LINE =========== //
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
googletag.cmd.push(function() {
googletag.pubads().disableInitialLoad();
});
var pbjs = pbjs || {};
pbjs.que = pbjs.que || [];
pbjs.que.push(function() {
pbjs.addAdUnits(adUnits);
pbjs.requestBids({
bidsBackHandler: initAdserver
});
});
function initAdserver() {
if (pbjs.initAdserverSet) return;
pbjs.initAdserverSet = true;
googletag.cmd.push(function() {
pbjs.que.push(function() {
pbjs.setTargetingForGPTAsync();
googletag.pubads().refresh();
});
});
}
setTimeout(function() {
initAdserver();
}, PREBID_TIMEOUT);
googletag.cmd.push(function() {
googletag.defineSlot('/19968336/header-bid-tag-1', sizes, 'div-1')
.addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>
</head>
<body>
<h2>Basic Prebid.js Example</h2>
<h5>Div-1</h5>
<div id='div-1'>
<script type='text/javascript'>
googletag.cmd.push(function() {
googletag.display('div-1');
});
</script>
</div>
</body>
我缺少什么让它发挥作用?
好的。问题出在 PREBID_TIMEOUT。 initAdserver 在拍卖完成前被解雇。增加超时后,一切都按预期工作。
我从 Prebid.js 中获取了示例并更改了代码中的投标人。
奇怪的是,虽然我有出价响应,但它没有通过 prev_scp 参数 传递给 DFP,没有呈现也没有显示在 getAllPrebidWinningBids
pbjs.getBidResponse() returns出价
pbjs.getAllWinningBids() returns 空数组
pbjs.getAllPrebidWinningBids() returns 空数组
HTML:
<script async src="//www.googletagservices.com/tag/js/gpt.js"></script>
<script async src="//acdn.adnxs.com/prebid/not-for-prod/1/prebid.js"></script>
<script>
var sizes = [
[300, 250]
];
var PREBID_TIMEOUT = 1700;
var adUnits = [{
code: '/19968336/header-bid-tag-1',
mediaTypes: {
banner: {
sizes: sizes
}
},
bids: [{
"bidder": "ix",
"params": {
"id": "07",
"siteId": "272669",
"size": [
300,
250
],
"floor": 0.6,
"bidfloorcur": "USD"
}
}]
}];
// ======== DO NOT EDIT BELOW THIS LINE =========== //
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
googletag.cmd.push(function() {
googletag.pubads().disableInitialLoad();
});
var pbjs = pbjs || {};
pbjs.que = pbjs.que || [];
pbjs.que.push(function() {
pbjs.addAdUnits(adUnits);
pbjs.requestBids({
bidsBackHandler: initAdserver
});
});
function initAdserver() {
if (pbjs.initAdserverSet) return;
pbjs.initAdserverSet = true;
googletag.cmd.push(function() {
pbjs.que.push(function() {
pbjs.setTargetingForGPTAsync();
googletag.pubads().refresh();
});
});
}
setTimeout(function() {
initAdserver();
}, PREBID_TIMEOUT);
googletag.cmd.push(function() {
googletag.defineSlot('/19968336/header-bid-tag-1', sizes, 'div-1')
.addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>
</head>
<body>
<h2>Basic Prebid.js Example</h2>
<h5>Div-1</h5>
<div id='div-1'>
<script type='text/javascript'>
googletag.cmd.push(function() {
googletag.display('div-1');
});
</script>
</div>
</body>
我缺少什么让它发挥作用?
好的。问题出在 PREBID_TIMEOUT。 initAdserver 在拍卖完成前被解雇。增加超时后,一切都按预期工作。