forked from prebid/Prebid.js
-
Notifications
You must be signed in to change notification settings - Fork 0
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 below), and combines them into a single POST request with the following structure:
{
// original GET parameters
"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
## Phase 1
### General structure change
- [x] Add banner type to supported media type in spec
- [x] Update endpoint to the new hb-multi
- [x] Create the new imp object to send
- [x] 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
- [x] 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
- [x] `isBidRequestValid` - changed to support multiple bids
- [x] `isBidRequestValid` - check if a different validation is needed compared to video
- [ ] `buildRequests` - check if a banner is built differently from video
- [x] `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