Skip to content

Support banner

OronW edited this page Jan 19, 2022 · 52 revisions

This page will accommodate the new adapter design, to support banner (display) type media, in our adapter

Changes are based on the prebid docs at: prebid docs

Current design takes the original GET request parameters, along with a new imp parameter (detailed structure below), and combines them into a single POST request with the following structure:

{
   // original GET parameters, including the data of the first adUnit
   "params": {   
               wrapper_type:
               wrapper_vendor:
                    ...
             }
   
   // array of all adUnits basic data
   "imp":    [{  
               id:
               h:
               w: 
                    ...
             }
             {
                    ...
             }]
}

Original GET request parameters:

{ 
    wrapper_type: 
    wrapper_vendor: 
    wrapper_version: 
    adapter_version:
    auction_start: 
    ad_unit_code: 
    tmax:
    width:
    height:
    publisher_id:
    floor_price: 
    ua: 
    bid_id: 
    bidder_request_id: 
    transaction_id:
    session_id:
    publisher_name: 
    site_domain:
    dnt:
    device_type:
    userIds:
    site_metadata:
    user_metadata:
    playback_method:
    placement:
    pos:
    min_duration:
    max_duration:
    skip:
    linearity:
    placement_id:
    cs_method:
    us_privacy:
    gdpr:
    gdpr_consent:
    ifa:
    schain:
    referrer:
    page_url:
}

New imp parameter structure (per AdUnit):

{
   id: // id - required 
   h: // height - optional
   w: // width - optional
   fp: // floor price - optional
   mt: // media type - required 
}

Phase 1

General structure change

  • Add banner type to supported media type in spec
  • Update endpoint to the new hb-multi
  • Create the new imp object to send
  • Change GET request to POST (and verify old behavior is not affected or destroyed)
  • Find what's common between video and banner request and reuse data when building object
  • Call endpoint only once for all adUnits, and not per-request as it is now (adapter was built for a single video request)

function specific

  • isBidRequestValid - changed to support multiple bids
  • isBidRequestValid - check if a different validation is needed compared to video
  • buildRequests - check if a banner is built differently from video
  • buildRequests - build an alternative for buildVideoRequest to receive and handle multiple adUnits, and return combined requests object

Phase 2

  • Create a test object for the test endpoint