-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Adpod module #3511
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adpod module #3511
Conversation
This pull request introduces 2 alerts when merging c661a7a into 29dd87c - view on LGTM.com new alerts:
Comment posted by LGTM.com |
This pull request introduces 2 alerts when merging 9c7d7e0 into 90afc1a - view on LGTM.com new alerts:
Comment posted by LGTM.com |
This pull request introduces 2 alerts when merging 1a6cd39 into 90afc1a - view on LGTM.com new alerts:
Comment posted by LGTM.com |
This pull request introduces 2 alerts when merging 2b7158f into 90afc1a - view on LGTM.com new alerts:
Comment posted by LGTM.com |
This pull request introduces 2 alerts when merging 44eb4ec into 90afc1a - view on LGTM.com new alerts:
Comment posted by LGTM.com |
This pull request introduces 2 alerts when merging 7380f08 into fbe766e - view on LGTM.com new alerts:
Comment posted by LGTM.com |
This pull request introduces 2 alerts when merging db14fc6 into 16ae069 - view on LGTM.com new alerts:
Comment posted by LGTM.com |
This pull request introduces 2 alerts when merging 69bc093 into 16ae069 - view on LGTM.com new alerts:
Comment posted by LGTM.com |
This pull request introduces 2 alerts when merging 9860a56 into c2ef82b - view on LGTM.com new alerts:
Comment posted by LGTM.com |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall LGTM.
Few minor things
modules/adpod.js
Outdated
*/ | ||
export function initAdpodHooks() { | ||
function setupHookFnOnce(hookId, hookFn, priority = 15) { | ||
let result = hooks[hookId].getHooks({hook: hookFn}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What if some other module has added hook on checkAdUnitSetup
and it is added first. Will these hooks be added since your are comparing the length to 0 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So they would be added to the hooks['checkAdUnitSetup']
object, but they wouldn't show when I execute the getHooks()
call because I'm effectively filtering that get
to only look for the function that's inside this module.
I tested this out locally and even when I name the hook function the same (ie checkAdUnitSetupHook
) - the hooked function won't return with this type of call because the function signature is different.
modules/adpod.js
Outdated
*/ | ||
export function checkAdUnitSetupHook(fn, adUnits) { | ||
let goodAdUnits = adUnits.filter(adUnit => { | ||
let mediaTypes = adUnit.mediaTypes; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: utils.deepAccess can be used here. deepAccess(adUnit, 'mediaTypes.video.context')
modules/adpod.js
Outdated
* @param {Object} bidderRequest copy of bid's associated bidderRequest object | ||
*/ | ||
export function callPrebidCacheHook(fn, auctionInstance, bidResponse, afterBidAdded, bidderRequest) { | ||
let videoConfig = bidderRequest.mediaTypes && bidderRequest.mediaTypes.video; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: utils.deepAccess can be used here. deepAccess(bidderRequest, 'mediaTypes.video.context')
modules/adpod.js
Outdated
// note to reviewers - was doing this to ensure the variable wouldn't be malformed by the additional incoming bids | ||
// while the current list is being processed by PBC and the store callback | ||
// ...but is this copy really needed? | ||
let bidListCopy = bidList.slice(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can be removed. No need to copy
modules/adpod.js
Outdated
} else { | ||
for (let i = 0; i < cacheIds.length; i++) { | ||
// when uuid in response is empty string then the key already existed, so this bid wasn't cached | ||
// TODO? - should we throw warning here? should we call the afterBidAdded() anyway to decrement the internal bid counter? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should call afterBidAdded to decrement the counter because there can be a case where auction is not timedout and one of the bid is back with empty uuid. In this case we would like to close the auction and not wait for timer to expire
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To confirm on this point - should we throw any type of message that the bid wasn't cached b/c it had a duplicate key? Or just let it go silently?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yep logMessage is good
modules/adpod.js
Outdated
for (let i = 0; i < cacheIds.length; i++) { | ||
// when uuid in response is empty string then the key already existed, so this bid wasn't cached | ||
// TODO? - should we throw warning here? should we call the afterBidAdded() anyway to decrement the internal bid counter? | ||
// TODO? - verify the cacheKey is one of the expected values (eg in case PBC returns generic UUID)? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can ignore this check
@jaiminpanchal27 I have made several updates in lieu of your feedback; please take another look when you have the chance. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. One requested change on the bid duration rounding behavior
import find from 'core-js/library/fn/array/find'; | ||
const from = require('core-js/library/fn/array/from'); | ||
|
||
export const TARGETING_KEY_PB_CAT_DUR = 'hb_pb_cat_dur'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
kind of late but are we happy with this name? :)
export const TARGETING_KEY_PB_CAT_DUR = 'hb_pb_cat_dur'; | ||
export const TARGETING_KEY_CACHE_ID = 'hb_cache_id' | ||
|
||
let queueTimeDelay = 50; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any experimentation with different default values here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did test using different values (went to 500) and with the timers I setup at different points in this module - it was executing the call to Prebid Cache at the set time value when there was a sufficient gap in bids.
modules/adpod.js
Outdated
// create parent level object based on auction ID (in case there are concurrent auctions running) to store objects for that auction | ||
if (!registry[bid.auctionId]) { | ||
registry[bid.auctionId] = {}; | ||
registry[bid.auctionId].bidStorage = new Set(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice use of a new data type!
modules/adpod.js
Outdated
* - only bids that exactly match those listed values are accepted (don't round at all). | ||
* - populate the `bid.video.durationBucket` field with the matching duration value | ||
* when adUnit.mediaTypes.video.requireExactDuration is false | ||
* - round the duration to the next highest specified duration value based on adunit (eg if range was [5, 15, 30] -> 3s is rounded to 5s; 16s is rounded to 30s) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we wanted to add a 2 second buffer here. That is if a bid is 16s it should be rounded down to the the nearest bucket (15s in this case) because it is within 2s of a bucket.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll make an update here to incorporate this logic. Should this buffer apply to the highest range? ie if the ranges were [15, 30, 45, 60]
and the bid was 61
- we would round it down to 60 and accept it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah I think we can apply it to the highest value as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I updated the logic to account for this buffer; please take another look when you have the chance.
Squashed commit commit 0c5fbab Author: Hendrik Iseke <[email protected]> Date: Fri Mar 15 15:20:21 2019 +0100 add bidfloor to params object (prebid#3641) * initial orbidder version in personal github repo * use adUnits from orbidder_example.html * replace obsolete functions * forgot to commit the test * check if bidderRequest object is available * try to fix weird safari/ie issue * ebayK: add more params * update orbidderBidAdapter.md * use spec.<function> instead of this.<function> for consistency reasons * add bidfloor parameter to params object commit 9e0f00c Author: Justin Grimes <[email protected]> Date: Fri Mar 15 06:19:57 2019 -0700 Consumable Bid Adapter: Pass GDPR and Prebid version info. Pixel syncs. (prebid#3578) commit b4870e7 Author: Harshad Mane <[email protected]> Date: Thu Mar 14 07:23:54 2019 -0700 Added a consistent prefix in logWarn message in PubMatic adapter (prebid#3633) commit 18b04f3 Author: Jaimin Panchal <[email protected]> Date: Tue Mar 12 17:04:17 2019 -0400 Increment pre version commit c8f928c Author: Jaimin Panchal <[email protected]> Date: Tue Mar 12 16:56:58 2019 -0400 Prebid 2.6.0 release commit 1be1488 Author: jsnellbaker <[email protected]> Date: Tue Mar 12 16:49:44 2019 -0400 update circleci test to not auto-fix lint errors (prebid#3623) commit 6c48043 Author: Jaimin Panchal <[email protected]> Date: Tue Mar 12 10:19:48 2019 -0400 update auction algorithm logic for long-form (prebid#3625) commit 0b39298 Author: Benjamin Clot <[email protected]> Date: Tue Mar 12 00:26:31 2019 +0100 Apply matchMedia to the top frame (prebid#3612) * Apply matchMedia to the top frame In case Prebid.js is called from within an iFrame, matchMedia should be applied to window.top, not the containing iFrame. This PR falls back to the legacy behavior in case of unfriendly iFrames. * Spec update commit 16e5e16 Author: kusapan <[email protected]> Date: Tue Mar 12 07:25:30 2019 +0900 YIELDONE adapter - add buildRequests payload params (prebid#3611) * added UserSync * added UserSync Unit Test * support for multi sizes * register the adapter as supporting video * supporting video * change requestId acquisition method * fix the parameter name of dealID * update test parameters * support instream video * add test for bidRequest * add test for interpretResponse * add test params * add note to documentaion * add payload params * add test * delete tmax param commit c173ab2 Author: jsnellbaker <[email protected]> Date: Mon Mar 11 15:09:25 2019 -0400 fix lint errors in ozoneBidAdapter unit tests (prebid#3624) commit 72e0e97 Author: Maxime DEYMÈS <[email protected]> Date: Mon Mar 11 17:25:24 2019 +0100 New bid adapter for SmileWanted (prebid#3601) * New bid adapter for SmileWanted - Smilewanted BidAdapter module and test spec added * Update to correct feedback from PR prebid#3601 - Add comments - Default value for currencyCode - replacing "utils.getTopWindowUrl()" with bidderRequest.refererInfo - Update unit tests * Delete of the commented spec commit d00c92a Author: Takaaki.Kojima <[email protected]> Date: Tue Mar 12 00:57:36 2019 +0900 update AdGeneration adapter. (prebid#3613) commit f25bc65 Author: afsheenb <[email protected]> Date: Fri Mar 8 17:06:07 2019 -0500 ozone adapter - fixup for gdpr and device objects (prebid#3593) * fixup for gdpr and device objects * v1.4.6 - clean up for unit test following changes submitted in 1.4.5 - removed 3 IF statements because the condition was already tested in the validation method. - added more tests to the spec file (check ozoneData, customData & lotameData are in the right place, and also NOT in the old location as well as some GDPR based unit tests) * explicitly added bidder name to debug logging statements commit 41867ad Author: Vladislav Yatsun <[email protected]> Date: Fri Mar 8 19:43:46 2019 +0400 Submit Brightcom Bid Adapter (prebid#3614) * Add Brightcom Bid Adapter * brightcomBidAdapter: remove getTopWindowLocation call * brightcomBidAdapter: fix naming commit 7ce5df6 Author: naoto yamaguchi <[email protected]> Date: Fri Mar 8 04:10:12 2019 +0900 update AJA adaptor: support native format (prebid#3504) * aja adapter support native format * not encode lp link * update adapter md * update aja adaptor md commit 24d09ad Author: Jaimin Panchal <[email protected]> Date: Wed Mar 6 15:16:59 2019 -0500 Increment pre version commit fc378b2 Author: Jaimin Panchal <[email protected]> Date: Wed Mar 6 15:08:10 2019 -0500 Prebid 2.5.1 Release commit 5a67d89 Author: jsnellbaker <[email protected]> Date: Wed Mar 6 14:22:19 2019 -0500 fix hb_cache_id for adpod bids (prebid#3617) commit a84f33e Author: Mike Chowla <[email protected]> Date: Tue Mar 5 14:00:19 2019 -0800 Increment pre version commit 0245ab9 Author: Mike Chowla <[email protected]> Date: Tue Mar 5 13:24:04 2019 -0800 Prebid 2.5.0 Release commit efdee9c Author: Mirko Feddern <[email protected]> Date: Tue Mar 5 21:47:57 2019 +0100 Add support for External Id (prebid#3594) The External Id is a dynamic reporting dimension, that can be passed through Yieldlab's adtag via the "id"-parameter. E.g. https://ad.yieldlab.net/d/1111/2222/728x90?ts=123456789&id=abc commit 6dc8094 Author: Michael <[email protected]> Date: Tue Mar 5 12:16:00 2019 -0800 Add HTML5 video support param to bid requests (prebid#3596) * Add HTML5 video support param to bid requests * Use const instead of var for consistency commit 35c58e0 Author: Vladimir Fedoseev <[email protected]> Date: Tue Mar 5 23:08:14 2019 +0300 Added myTarget Adapter (prebid#3599) * Add myTargetBidAdapter * myTargetBidAdapter: replace legacy substr function commit 9d5b9b4 Author: Isaac Dettman <[email protected]> Date: Tue Mar 5 11:23:40 2019 -0800 PBS Bid Adapter oRTB caching and video updates (prebid#3528) * updates to both the rubicon adapter and the prebid server for ORTB requirements * updates to bid and auction data to reflect oRTB structure * merged pbjs commits * reverted karma conf * always add ext.prebid.targeting.includewinners: true for openrtb * add unit test for ext.prebid.targeting.includewinners for openrtb * added s2sConfig 'video.ext.prebid' support and unit test * added code comments for changes to ORTB * handle response.ext.prebid.cache values and added unit test * update to merged video.ext.prebid with request.ext.prebid * update to merge includewinners * added test for override used in s2sConfig for ext.prebid.targeting.includewinners value * fixes for response cache logic * added support for targeting cache props HB-3740 * added test for adserverTargeting change * updates to address Jira ticket revision * update to build the vastUrl object by utilizing hb_cache_host + hb_cache_path, since the hb_cache_hostpath will be suppressed soon * removed single quotes around object literal keys to match formatting * added new standard targeting keys for video * removed code added by jsnellbaker per his recommendation because our change should make it unnecessary commit 1a4c964 Author: Matt Lane <[email protected]> Date: Tue Mar 5 11:02:25 2019 -0800 Send url value when replacing image and icons types (prebid#3609) commit 7dd9f8a Author: jsnellbaker <[email protected]> Date: Tue Mar 5 13:56:58 2019 -0500 add default sizes value for appnexus native requests (prebid#3602) commit 9868bc3 Author: Jaimin Panchal <[email protected]> Date: Tue Mar 5 10:28:20 2019 -0500 jsDelivr only supports https (prebid#3608) commit 01e68e1 Author: Robert Ray Martinez III <[email protected]> Date: Mon Mar 4 20:41:39 2019 -0800 Rubicon Adapter: Switching Video Endpoint to Rubicon PBS (prebid#3610) * updates to both the rubicon adapter and the prebid server for ORTB requirements * updates to bid and auction data to reflect oRTB structure * merged pbjs commits * reverted karma conf * always add ext.prebid.targeting.includewinners: true for openrtb * add unit test for ext.prebid.targeting.includewinners for openrtb * added s2sConfig 'video.ext.prebid' support and unit test * added code comments for changes to ORTB * handle response.ext.prebid.cache values and added unit test * update to merged video.ext.prebid with request.ext.prebid * update to merge includewinners * added test for override used in s2sConfig for ext.prebid.targeting.includewinners value * fixes for response cache logic * added support for targeting cache props HB-3740 * added test for adserverTargeting change * updates to address Jira ticket revision * update to build the vastUrl object by utilizing hb_cache_host + hb_cache_path, since the hb_cache_hostpath will be suppressed soon * removed single quotes around object literal keys to match formatting * Splitting into a new branch * Enforce new required params + remove legacy mediaType support * Fixing per Eric's request * Revert "Merge branch 'HB-3018_pbs-adapter-enhancements' of https://github.com/rubicon-project/Prebid.js into Rubicon_PBS_Video" This reverts commit 712e566, reversing changes made to 4f59e48. commit 6bc6394 Author: jsnellbaker <[email protected]> Date: Mon Mar 4 15:05:12 2019 -0500 fix two issues related to hb_uuid and hb_cache_id targeting keys (prebid#3605) * move logic that assigns bid targeting params * switch order of targeting keys assignment in dfpAdServerVideo * remove redundant cache key assignment in dfp module and update unit tests * refactor logic when adding cache targeting keys * fix issue caused by refactor from another PR commit 0db21ff Author: trchandraprakash <[email protected]> Date: Mon Mar 4 10:26:52 2019 -0800 Submit Advangelists Prebid Adapter (prebid#3588) * Submit Advangelists Prebid Adapter * Submit Advangelists Prebid Adapter 1.1 * Submit Advangelists Prebid Adapter Changes commit aa6afa8 Author: Eric Nolte <[email protected]> Date: Mon Mar 4 10:19:10 2019 -0500 Return mediaType:video in unruly adapter (prebid#3591) commit dd26503 Author: Matt Lane <[email protected]> Date: Fri Mar 1 11:47:08 2019 -0800 Fix event firing on native click (prebid#3589) commit 5112950 Author: Evgen A. Epanchin <[email protected]> Date: Fri Mar 1 16:29:48 2019 +0200 Added LoopMe Adapter (prebid#3586) * Added LoopMe Adapter * Replace Object.entries with entries commit d36d458 Author: nkmt <[email protected]> Date: Fri Mar 1 06:53:13 2019 +0900 New bidder adapter for MicroAd (prebid#3565) * Add microadBidAdapter * Remove unnecessary encodeURIComponent from microadBidAdapter * Correct procudtion endpoint for prebid commit bc9faeb Author: Jason Snellbaker <[email protected]> Date: Wed Feb 27 14:55:31 2019 -0500 increment pre version commit 4f63887 Author: Jason Snellbaker <[email protected]> Date: Wed Feb 27 14:46:18 2019 -0500 Prebid 2.4.0 release commit 48172be Author: jsnellbaker <[email protected]> Date: Wed Feb 27 14:30:41 2019 -0500 Revert "fix two issues related to hb_uuid and hb_cache_id targeting keys (prebid#3568)" (prebid#3595) This reverts commit 54b4188. commit 54b4188 Author: jsnellbaker <[email protected]> Date: Wed Feb 27 14:11:37 2019 -0500 fix two issues related to hb_uuid and hb_cache_id targeting keys (prebid#3568) * move logic that assigns bid targeting params * switch order of targeting keys assignment in dfpAdServerVideo * remove redundant cache key assignment in dfp module and update unit tests * refactor logic when adding cache targeting keys commit 99977a9 Author: Matt Lane <[email protected]> Date: Wed Feb 27 11:07:22 2019 -0800 Send placeholders for configured native assets (prebid#3573) * Send placeholders for configured native assets * Post native assets on replacement request * Update names * Change config name commit fcbaa4c Author: jsnellbaker <[email protected]> Date: Wed Feb 27 12:59:15 2019 -0500 update targeting to not include adpod bids (prebid#3558) commit 621a057 Author: Matt Lane <[email protected]> Date: Wed Feb 27 09:58:29 2019 -0800 Add adpod support to AppNexus adapter (prebid#3484) * Add new context type * Write request duplication test * Duplicate adpod placement for request * Write requireExactDuration duplication test * Duplicate adpod placement when requireExactDuration is set * Add brandCategoryExclusion config to request * Add adpod fields to bid response object * Split large requests into batches * Get context from correct object * Use util function to get request subsets * Use correct mediaType.video configuration names * Rename category prop to iabSubCatId * Comment sub function usage * Round down placements when config uneven * Set max/min duration across tags when config numbers are uneven * Account for multiple adpod adUnits * Round durationSeconds up if remainder * Use adpod constant * Update subCat usage comment * Update subCat usage comment * Change ceil to floor * fix unit test * correct flag name * uncomment todos commit 1f04f55 Author: Jaimin Panchal <[email protected]> Date: Wed Feb 27 12:44:45 2019 -0500 Category translation module for adpod (prebid#3513) * category translation module * update function name, refactor code and add getIabSubCategory function * move hook init and import adpod * bugfix in getting adapter spec * add hook for adserver in use * updated getting iab subcategory code * bugfix * Use individual mapping file for translation * Update default mapping url * add hook only once * update mapping url * Update brandCategoryExclusion logic * wrap in try catch * update todos and add default refreshInDays * udpate hooks * update hook commit d4ff1ec Author: Jaimin Panchal <[email protected]> Date: Wed Feb 27 12:43:51 2019 -0500 Adding freewheel module (prebid#3489) * adding freewheel module * adding commented references to adpod module * upadate some properties and refactor * updated adpod import and competitive exclusion logic * add hook to freewheel module * add logic for deferCaching * refactor targeting logic for deferCaching and activate commented code * modify import for test file * update hook commit e96d58e Author: jsnellbaker <[email protected]> Date: Wed Feb 27 12:42:25 2019 -0500 Adpod module (prebid#3511) * initial version of adpod module * fix hooks, clean-up and uncomment unit tests * correct issues in unit tests * add missing custom key fields in fake bids for unit tests * several updates to module and unit tests * update logic to only add hooks once * update targeting keys to new name * add module description * fix typo * add adunit check in case of multi-format * add exports for adpod targeting keys * move ADPOD constant to mediaTypes.js * undo mediaTypes change * fix unit tests * updates based on initial feedback * add msg when PBC rejects bid due to duplicate key * fix issue in videoBidCheck hook * add buffer logic when rounding bidDuration * add logic for deferCaching * update logic around brandCategoryExclusion * update support to new hook api and update logic when checking iab category field commit 36f1230 Author: Rich Snapp <[email protected]> Date: Wed Feb 27 08:54:26 2019 -0700 update fun-hooks to latest and update api (prebid#3574) * use custom bind where non-standard mootools bind could cause issues * replace missing 'rest' with implementation * latest fun-hooks * update package-lock.json * update fun-hooks to latest and update api * update fun-hooks to latest, fixes: prebid#3576 * update package-lock.json commit b6c5644 Author: Michael Callari <[email protected]> Date: Tue Feb 26 14:53:10 2019 -0500 Updating network call to use https. prebid#3580 (prebid#3581) commit eb50bd9 Author: Maciej Lopacinski <[email protected]> Date: Tue Feb 26 18:00:04 2019 +0100 LiveYield Analytics Adapter DfP Support (prebid#3506) * LiveYield Analytics Adapter * tests corrections * fixed getPlacementOrAdUnitCode function * DFP support * SRTA-399 WIP * DFP handler corrections, tests added * test added * docs added * SRTA-399 LiveYield DfP support SRTA-399 Minor reformats impression value fixed changed path to rta params corrections resolveSlot fixed postprocess() param fixed docs update imprVal(), imprPartner() impl added SRTA-399 Docs, no console.log * SRTA-410 Default implementations based on hb_adid * SRTA-399 chai usage fix commit edf6f40 Author: Salomon Rada <[email protected]> Date: Tue Feb 26 17:46:40 2019 +0200 Cleanmedianet: Add cleanmedianet bidder adapter (prebid#3582) * Add cleanmedianet bidder adapter * Use passed in url & utils url parsing function commit 68dfb64 Author: mustafa kemal <[email protected]> Date: Sat Feb 23 04:14:03 2019 +0300 New bid adapter for TheAdx (prebid#3547) * theAdx BidAdapter module and test spec added * requested changes from reviewer commit 2feb988 Author: PWyrembak <[email protected]> Date: Fri Feb 22 21:47:21 2019 +0300 Update TrustX Bid Adapter (prebid#3563) * Add trustx adapter and tests for it * update integration example * Update trustx adapter * Post-review fixes of Trustx adapter * Code improvement for trustx adapter: changed default price type from gross to net * Update TrustX adapter to support the 1.0 version * Make requested changes for TrustX adapter * Updated markdown file for TrustX adapter * Fix TrustX adapter and spec file * Update TrustX adapter: r parameter was added to ad request as cache buster * Add support of gdpr to Trustx Bid Adapter * Add wtimeout to ad request params for TrustX Bid Adapter * TrustX Bid Adapter: remove last ampersand in the ad request * Update TrustX Bid Adapter to support identical uids in parameters * Update TrustX Bid Adapter to ignore bids that sizes do not match the size of the request commit 88a7fe9 Author: Lovell Fuller <[email protected]> Date: Fri Feb 22 05:59:49 2019 +0000 Audience Network: upgrade bid requests to use latest SDK (prebid#3571) commit 849ae8f Author: Gaudeamus <[email protected]> Date: Fri Feb 22 06:40:31 2019 +0200 mgidAdapter (prebid#3562) * mgidAdapter * mgidAdapter description * mgidAdapter test fixes * mgidAdapter test fixes * mgidAdapter test fixes * mgidAdapter test fixes * mgidAdapter test fixes * mgidAdapter test fixes * mgidAdapter test fixes * mgidAdapter test fixes * mgidAdapter test fixes * mgidAdapter gdpr + ver * test params * test params changed * revert * revert commit b12e6dd Author: afsheenb <[email protected]> Date: Thu Feb 21 23:35:51 2019 -0500 added setTargeting code for custom key-value pairs (prebid#3550) * added setTargeting code for custom key-value pairs * v1.4.3 - refactored setTargeting code, includes support for pub common ID being passed inside ext.ozone object, refactored the ext.ozone object to carry any data objects defined in on-page bidder config * Update to setTargeting functionality per feedback from prebid.org. * switching from // to https:// to match unit test commit 753f76a Author: deekshithraop <[email protected]> Date: Thu Feb 21 12:42:51 2019 -0500 Update removeAdUnit (prebid#3527) * Add removeAllAdUnits to the API * revert package.loc * Update removeAdUnit and remove removeAllAdUnts * update var to let commit 240c606 Author: Aiichiro Kida <[email protected]> Date: Fri Feb 22 02:31:33 2019 +0900 New bid adapter for OPEN8 (prebid#3521) * add open8 adapter * slotkey and fix * add maintainer address * add bidwon * check field populated commit b247aeb Author: pwecker <[email protected]> Date: Wed Feb 20 15:18:54 2019 -0500 New Adapter VMG (prebid#3525) * New Adapter VMG * anticipate absence of "buildRequests >> bidderRequest.refererInfo" in prebid_1_0 commit 6ea6a3a Author: Gena <[email protected]> Date: Wed Feb 20 05:52:51 2019 -0800 Add Adtelligent gdpr support (prebid#3561) * add adtelligent gdpr support * Fix test commit d175960 Author: Eric Harper <[email protected]> Date: Tue Feb 19 16:20:24 2019 -0500 Increment pre version commit 8b13af0 Author: Eric Harper <[email protected]> Date: Tue Feb 19 15:47:23 2019 -0500 Prebid 2.3.0 Release commit f45aa8a Author: TheMediaGrid <[email protected]> Date: Tue Feb 19 17:51:29 2019 +0300 Add video support in Grid Bid Adapter (prebid#3545) * Added Grid Bid Adapter * remove priceType from TheMediaGrid Bid Adapter * Add video support in Grid Bid Adapter * Added test parameter for video slot * update Grid Bid Adapter to set size in response bid commit d69c982 Author: Julien Ricard <[email protected]> Date: Fri Feb 15 14:51:32 2019 +0100 bugfix for Firefox for some ads that use document.write (prebid#3524) * bugfix for Firefox for some ads that use document.write * testing that the doc.open method is called..... * added a sinon.spy() for the doc.open method
* initial version of adpod module * fix hooks, clean-up and uncomment unit tests * correct issues in unit tests * add missing custom key fields in fake bids for unit tests * several updates to module and unit tests * update logic to only add hooks once * update targeting keys to new name * add module description * fix typo * add adunit check in case of multi-format * add exports for adpod targeting keys * move ADPOD constant to mediaTypes.js * undo mediaTypes change * fix unit tests * updates based on initial feedback * add msg when PBC rejects bid due to duplicate key * fix issue in videoBidCheck hook * add buffer logic when rounding bidDuration * add logic for deferCaching * update logic around brandCategoryExclusion * update support to new hook api and update logic when checking iab category field
Type of change
Description of change
This PR adds adpod module to prebid. It creates several hooked functions that are used to handle/evaluate adpod bids/adunits.
In terms of usage, this module would be ideally activated through another module (eg
freeWheelAdserverVideo
(see #3489)) by calling theinitAdpodHooks()
function somewhere in the file directly. Through this approach, the module would not need to be directly specified in the build process; it would automatically be pulled in when the...AdserverVideo
module is included.Other information
Docs PR here