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 在拍卖完成前被解雇。增加超时后,一切都按预期工作。