首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prebid.js没有向DFP发出报价

Prebid.js没有向DFP发出报价
EN

Stack Overflow用户
提问于 2018-07-15 08:28:43
回答 1查看 701关注 0票数 0

我以Prebid.js为例,修改了代码中的投标人。

奇怪的是,尽管我有一个投标响应,但它没有通过prev_scp param传递给DFP,没有呈现,也没有在getAllPrebidWinningBids中显示

pbjs.getBidResponse()返回一个出价

pbjs.getAllWinningBids()返回一个空数组

pbjs.getAllPrebidWinningBids()返回一个空数组

HTML:

代码语言:javascript
复制
        <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>

我错过了什么让它发挥作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-15 13:33:39

好的。问题在于PREBID_TIMEOUT。initAdserver在拍卖结束前就被炒了。在增加超时之后,一切都如预期的那样正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51346651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档