Between Digital: prebid-server configuration example

This page is example by itself. You can explore source code, outgoing requests and prebid-server response.

Iframe below is a valid ad unit rendered by prebid.js using prebid-server bidresponse

Documented source code example:

    
<!--
Load prebid.js. Your build should contain prebid-server adapter.
See https://docs.prebid.org/download.html
Don't forget to choose "Prebid Server" option.
-->
<script src="$PATH/TO/PREBIDJS/prebid4.15.0.js"></script>

<!--
Prebid client side config
-->
<script>
    pbjs.setConfig({
        s2sConfig: { // Enable Server-to-Server config
            accountId: '1',
            enabled: true,
            bidders: ['between'], // Don't forget to select between as bidder
            timeout: 1000,
            adapter: 'prebidServer',
            endpoint: '//$PREBID-SERVER-DOMAIN.com/openrtb2/auction',
            syncEndpoint: '//$PREBID-SERVER-DOMAIN.com/cookie_sync',
        }
    });
    var publisherId = '$PUBLISHER_ID'; // Your ID from Between Exchange control panel, see https://cp.betweendigital.com/
    var sizes = [[240, 400]]; // Available banner sizes
    var PREBID_TIMEOUT = 1000; // Awaiting response time
    var adUnits = [{
        code: 'ad_slot',
        sizes: sizes,
        mediaTypes: {
            banner: { // Currently, BetweenSSP supports only banner mediaType through prebid-server
                sizes: sizes,
            }
        },
        bids: [
            {
                bidder: 'between',
                params: { // BetweenSSP-specific parameters
                    host: 'lbs-ru1.ads', // Required. Between SSP host url prefix. Defines data center where requests will be sent.
                                                   // Choose the closest one to the prebid-server you are using.
                                                   // Options: 'lbs-eu1.ads', 'lbs-ru1.ads', 'lbs-asia1.ads', 'lbs-us-east1.ads'
                    publisher_id: publisherId.toString(), // Required
                    bid_floor: 0.5, // Optional. Minimum price acceptable for a bid. 0.00001 by default
                    bid_floor_cur: 'USD', // Optional. Bid floor currency, default 'USD'. Options: 'USD', 'EUR', 'RUB'
                }
            }
        ]
    }];
    pbjs.addAdUnits(adUnits);
    pbjs.requestBids({
        bidsBackHandler: sendAdserverRequest
    });
    function sendAdserverRequest() {
        if (pbjs.adserverRequestSent) {
            return;
        }
        pbjs.adserverRequestSent = true;
        var ads = pbjs.getHighestCpmBids(); //Select most valuable bid. You can change this logic on your own
        if (!ads || !ads.length) {
            return;
        }
        var iframe = document.getElementById('ad_slot');
        var iframeDoc = iframe.contentWindow.document;
        pbjs.renderAd(iframeDoc, ads.shift().adId);
    }

    setTimeout(function () {
        sendAdserverRequest();
    }, PREBID_TIMEOUT);
</script>
<iframe id="ad_slot"></iframe>