Skip to content
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

Update remote repo #12

Merged
merged 85 commits into from
Jun 10, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
296b926
ucfunnel Bid Adapter: add support Price Floors Module (#6806)
jackhsiehucf Jun 1, 2021
667e268
Brightcom Bid Adapter: handle meta.advertiserDomains (#6905)
prBigBrother Jun 1, 2021
4fe2be1
Onomagic Bid Adapter: handle meta.advertiserDomains (#6906)
prBigBrother Jun 1, 2021
5cca29e
add support for advertiser domains (#6908)
Jacobkmiller Jun 1, 2021
f3302af
smartx Bid Adapter: Add support for Floors Module (#6902)
Skylinar Jun 1, 2021
e414946
Yieldmo Bid Adapter: read video parameters from the ad unit (#6873)
ym-dlabuzov Jun 1, 2021
6e203ea
Accept outstream renderers defined in mediatype for PBS (#6896)
hnkhandev Jun 1, 2021
1c3247c
Sharethrough Bid Adapter: Use getFloor module for Prebid 5.0 complian…
Jun 1, 2021
a259700
Onomagic Bid Adapter: use getFloor function (#6907)
prBigBrother Jun 2, 2021
481b94f
Jixie Bid Adapter: add support for advertiserDomains (#6898)
jxdeveloper1 Jun 2, 2021
fbc44aa
relaido Bid Adapter: Add meta OBJ to BidResponse (#6914)
relaido Jun 2, 2021
f957aa7
AdYouLike Bidder: Handle advertiser domains (#6916)
ChrisHuie Jun 2, 2021
7e67b4e
Brightcom Bid Adapter: use getFloor function (#6918)
prBigBrother Jun 2, 2021
b105b75
Sublime Bid Adapter : Add support for meta.advertiserDomains (#6920)
Jun 2, 2021
db50c5b
LockerDome Bid Adapter: support for meta.advertiserDomains (#6921)
margsliu Jun 2, 2021
b271db1
Update Adtelligent, Adtarget, ViewDeos adapters to support adomain …
GeneGenie Jun 2, 2021
42093f4
Adot Bid Adapter: add the advertising domains support (#6876)
Giudici-a Jun 2, 2021
b04d212
Smaato bid adapter: Rework multi imp support (#6814)
jgresens Jun 2, 2021
948cb1d
dgkeyword RTD Provider: add new real time data module (#6912)
mediaconsortium-develop Jun 2, 2021
0f267d8
Medianet bid adapter: MD update for video parameters. (#6922)
c3p-0 Jun 2, 2021
5698959
Seedtag Bid Adapter: read video params from mediaTypes, and allow ove…
ybootin Jun 2, 2021
0cd655d
Prebid 4.42.0 Release
Jun 2, 2021
b099bcc
Increment pre version
Jun 2, 2021
befd64e
PubMatic: For Video: bid.mediaTypes.video.mimes OR bid.params.video.m…
pm-harshad-mane Jun 2, 2021
25106da
GridNMBidAdapter: Use absent in video params data from mediaTypes (#6…
TheMediaGrid Jun 2, 2021
589bc3f
BridgewellBidAdapter: modify to include user ids in the bid request o…
rigelbibi Jun 2, 2021
65975d3
Blue Billywig Adapter: add advertiserDomains support (#6927)
K-JBoon Jun 3, 2021
25a495c
oneVideo Bid Adapter: adomain & mediaTypes.video Support (SAPR-16874)…
adam-browning Jun 3, 2021
70317f9
adnuntias Bid Adapter: Added GDPR support and segment passing (#6796)
mikael-lundin Jun 3, 2021
3529b59
Prebid 4.42.1 Release
jsnellbaker Jun 3, 2021
707aeac
increment pre version
jsnellbaker Jun 3, 2021
18a3e07
Quantcast Bid Adapter: add advertiserDomains to meta (#6929)
SleimanJneidi Jun 3, 2021
08c2994
Bugfix: fix overriding user object (#6934)
asurovenko-zeta Jun 3, 2021
896addd
VIS.X adapter: fix for multiformat ad units & added fields to bidResp…
mk0x9 Jun 4, 2021
6e5702c
Bid Glass adapter: Add support for meta.advertiserDomains (#6938)
dliebner Jun 4, 2021
10a2760
GUMGUM Bid Adapter: Add GPID for TTD (#6841)
estavillo Jun 4, 2021
40f7f2b
PBS Bid Adapter: seatbid.bid.ext.prebid.meta support (#6939)
aleksatr Jun 4, 2021
287f07c
add meta.advertiserDomains to bid response (#6942)
nwlosinski Jun 4, 2021
3aeab29
ID5 analytics adapter: initial release (#6871)
cosenmarco Jun 4, 2021
bc2f964
BidsCube Bid Adapter: add new adapter (#6730)
vlaktion Jun 4, 2021
0723726
Improve Digital: add support for adomain and floors module (#6943)
jbartek25 Jun 4, 2021
afd54f7
Zeta Ssp Bid Adapter: provide domain in site object (#6928)
asurovenko-zeta Jun 4, 2021
fbe94af
PBS Bid Adapter: Fix duplicate imp.id (#6933)
FilipStamenkovic Jun 4, 2021
ab3450f
Update beachfrontBidAdapter.js (#6949)
patmmccann Jun 4, 2021
d026a10
Inskin, Consumable, FreewheelSSP Bid Adapters: Placeholder for advert…
patmmccann Jun 4, 2021
9c8706e
Fixing issues related to Prebid 5.0 (#6953)
MaxSmileWanted Jun 5, 2021
ea8cec4
Buzzoola Bid Adapter: add advertiser domain and native media type sup…
Sonic0588 Jun 7, 2021
20e0ef8
Smart Ad Server: add advertiser domain support and read more mediaTyp…
lowendavid Jun 7, 2021
d1ec22e
Pass parameter from Livewrapped wrapper (#6954)
bjorn-lw Jun 7, 2021
fb72300
Seedtag : add requestCount to bid request (#6958)
ybootin Jun 7, 2021
9ed06b4
Dspx Bid Adapter: new features and support of adomain in meta (#6931)
onlsol Jun 7, 2021
4ff92fa
Mediaforce Bid Adapter: support for adomain (#6961)
patmmccann Jun 7, 2021
8cac6d7
Nextmillinnium adapter improvement (#6957)
Jun 7, 2021
f028348
PubMatic bid adapter: Change user-sync end-point (#6963)
pm-harshad-mane Jun 7, 2021
3ea9b0a
Optimera RTD Module: initial release (#6962)
mcallari Jun 7, 2021
34f3197
Iprom adapter: add advertiserDomains (#6965)
iprom-adserver Jun 8, 2021
fe51453
Adkernel Bid Adapter: eids support (#6964)
ckbo3hrk Jun 8, 2021
ee90abe
Welect Bid Adapter: support advertiser domain (#6966)
nduitz Jun 8, 2021
11c3b49
Zeta Bid Adapter: bugfix for the possibility to overwrite data with g…
mwehr-zeta Jun 8, 2021
6c07b74
tappx Bid Adapter: update tests, log warinings, and fix consent (#6968)
prebidtappx Jun 8, 2021
c6ea12a
Quantcast Bid Adapter: uses video mediatypes to read OpenRTB paramete…
SleimanJneidi Jun 8, 2021
b62d794
support for #6650 and fixed tests (#6969)
parisholley Jun 8, 2021
d5750fc
Intentiq id System: module maintenance (#6745)
yuvalgg Jun 8, 2021
a532e4a
oneTag Bid Adapter: edit page fields (#6971)
onetag-dev Jun 8, 2021
d496c68
ozone 2.6.0 adapter updates (#6946)
afsheenb Jun 8, 2021
6dd4c8f
Index Exchange Bid Adapter: bidder params.size not required; read vid…
punkiller Jun 8, 2021
038a58e
PBJS Core: Add allowSendAllBidsTargetingKeys to targetingControls (#6…
Jun 8, 2021
86e86d7
Integral Ad Science RTD module: initial release (#6816)
raguilar-ias Jun 8, 2021
64586ad
ADTS-132 Use static bid floor if defined if getFloor module is not us…
lbenmore Jun 9, 2021
99a51e0
Invamia Bid Adapter: add new bid adapter (#6941)
llays Jun 9, 2021
388ad4e
Revert "ozone 2.6.0 adapter updates (#6946)" (#6976)
ChrisHuie Jun 9, 2021
f1d5e71
added meta.adomain (#6977)
yieldlift Jun 9, 2021
0998fb4
Change support email (#6979)
cesarfd Jun 9, 2021
27e4541
Add meta.advertiserDomains for Prebid 5.0 (#6978)
mirkorean Jun 9, 2021
4e60945
Add support for advertiserDomains (#6980)
eddyu0 Jun 9, 2021
6213da7
Gamoshi Bid Adapter: add adomain and floor support for 5.0 compliance…
Jun 9, 2021
78d0cb1
CoinzillaBidAdapter: Add adomain support (#6981)
arkan303 Jun 9, 2021
3fad473
Add advertiser domains (#6982)
PavlaKanova Jun 9, 2021
7ab3d15
Justpremium, dspx, VisX, Yieldlab bid adapters: Add missing GVL IDs (…
muuki88 Jun 9, 2021
7251c91
Glomex Bid Adapter: handle meta.advertiserDomains (#6984)
klipstein Jun 9, 2021
bafb0cc
Ozone Bid Adapter: Ozone v2.6.0 adapter updates (resubmission) (#6987)
afsheenb Jun 9, 2021
338dae8
Widespace Bid Adapter: Support Adomain for prebid 5.0 (#6989)
talha08 Jun 9, 2021
0ffd546
fix non ie .remove to removeChild (#6990)
robertrmartinez Jun 9, 2021
196f633
Enhancements for the analytics adapter (#6991)
robertrmartinez Jun 9, 2021
0345159
Revert "Enhancements for the analytics adapter (#6991)" (#6993)
ChrisHuie Jun 9, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 117 additions & 0 deletions integrationExamples/gpt/ixMultiFormat.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
<!--
This page calls a single bidder for a single ad slot.
It also makes a good test page for new adapter PR submissions. Simply set your server's Bid Params object in the
bids array inside the adUnits, and it will use your adapter to load an ad.
NOTE that many ad servers won't send back an ad if the URL is localhost... so you might need to
set an alias in your /etc/hosts file so that you can load this page from a different domain.
-->

<html>

<head>
<script async src="../../build/dist/prebid.js"></script>
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<script>
var FAILSAFE_TIMEOUT = 3300;
var PREBID_TIMEOUT = 1000;
var adUnits = [{
code: 'div-gpt-ad-51545-0',
mediaTypes: {
banner: {
sizes: [[300, 250], [600, 500]]
},
video: {
playerSize : [300,250],
mimes : ["video/x-ms-wmv", "video/mp4"],
minduration : 0,
maxduration: 3,
protocols : [1,2]
}
},
// Replace this object to test a new Adapter!
bids: [{
bidder: 'ix',
params: {
// only siteId required
siteId: '300'
}
}]
}];
var pbjs = pbjs || {};
pbjs.que = pbjs.que || [];
</script>
<script>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
googletag.cmd.push(function () {
googletag.pubads().disableInitialLoad();
});

pbjs.que.push(function () {
pbjs.addAdUnits(adUnits);
pbjs.setConfig({
floors: {
enforcement: {
floorDeals: false, //default to false
bidAdjustment: true
},
data: { // default if endpoint doesn't return in time
currency: 'USD',
skipRate: 5,
modelVersion: 'BlackBerryZap',
schema: {
fields: ['gptSlot', 'mediaType', 'size']
},
values: {
'*|banner|600x500': 6.5,
'*|banner|300x250': 3.25,
'*|video': 3.5
}
}
}
});
pbjs.requestBids({
bidsBackHandler: sendAdserverRequest,
timeout: PREBID_TIMEOUT
});
});

function sendAdserverRequest() {
if (pbjs.adserverRequestSent) return;
pbjs.adserverRequestSent = true;
googletag.cmd.push(function () {
pbjs.que.push(function () {
pbjs.setTargetingForGPTAsync();
googletag.pubads().refresh();
});
});
}

setTimeout(function () {
sendAdserverRequest();
}, FAILSAFE_TIMEOUT);

</script>

<script>
googletag.cmd.push(function () {
googletag.defineSlot('/19968336/header-bid-tag-0', [[300, 250], [300, 600]], 'div-gpt-ad-51545-0').addService(googletag.pubads());

googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>
</head>

<body>
<h2>Prebid.js Test</h2>
<h5>Div-1</h5>
<div id='div-gpt-ad-51545-0'>
<script type='text/javascript'>
googletag.cmd.push(function () { googletag.display('div-gpt-ad-51545-0'); });
</script>
</div>
</body>

</html>

152 changes: 152 additions & 0 deletions integrationExamples/gpt/optimeraRtdProvider_example.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
<!DOCTYPE html>
<html lang="en">

<head>
<link rel="icon" type="image/png" href="/favicon.png">
<script async src="//securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<script type="text/javascript" src="../../build/dev/prebid.js" async></script>

<title>Optimera RTD Example</title>

<!-- Prebid Config Section START -->
<script>
var PREBID_TIMEOUT = 1000;
var FAILSAFE_TIMEOUT = 3000;

var div_1_sizes = [
[300, 250],
[300, 600]
];
var div_2_sizes = [
[728, 90],
[970, 250]
];

var adUnits = [{
code: 'div-1',
mediaTypes: {
banner: {
sizes: div_1_sizes
}
},
bids: [{
bidder: 'appnexus',
params: {
placementId: '13144370'
}
}]
}, {
code: 'div-0',
mediaTypes: {
banner: {
sizes: div_2_sizes
}
},
bids: [{
bidder: 'appnexus',
params: {
placementId: '13144370'
}
}]
}];

var pbjs = pbjs || {};
pbjs.que = pbjs.que || [];

pbjs.que.push(function () {
pbjs.setConfig({
debug: 'true',
realTimeData: {
dataProviders: [
{
name: 'optimeraRTD',
waitForIt: true,
params: {
clientID: '9999',
optimeraKeyName: 'optimera'
}
}
]
}
});
});

</script>
<!-- Prebid Config Section END -->

<script>
// ======== 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,
timeout: PREBID_TIMEOUT
});
});

function initAdserver() {
if (pbjs.initAdserverSet) return;
pbjs.initAdserverSet = true;
googletag.cmd.push(function() {
pbjs.que.push(function() {
pbjs.setTargetingForGPTAsync();
googletag.pubads().refresh();
});
});
}
// in case PBJS doesn't load
setTimeout(function() {
initAdserver();
}, FAILSAFE_TIMEOUT);

googletag.cmd.push(function() {
googletag.defineSlot('/19968336/header-bid-tag-0', div_1_sizes, 'div-1').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
googletag.cmd.push(function() {
googletag.defineSlot('/19968336/header-bid-tag-1', div_2_sizes, 'div-0').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>

<br>

<h5>Div-0</h5>
<div id='div-0'>
<script type='text/javascript'>
googletag.cmd.push(function() {
googletag.display('div-0');
});

</script>
</div>

</body>

</html>
3 changes: 3 additions & 0 deletions modules/.submodules.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,12 @@
],
"rtdModule": [
"browsiRtdProvider",
"dgkeywordRtdProvider",
"geoedgeRtdProvider",
"haloRtdProvider",
"iasRtdProvider",
"jwplayerRtdProvider",
"optimeraRtdProvider",
"permutiveRtdProvider",
"reconciliationRtdProvider",
"sirdataRtdProvider"
Expand Down
11 changes: 11 additions & 0 deletions modules/adkernelBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -404,6 +404,10 @@ function buildRtbRequest(imps, bidderRequest, schain) {
if (schain) {
utils.deepSetValue(req, 'source.ext.schain', schain);
}
let eids = getExtendedUserIds(bidderRequest);
if (eids) {
utils.deepSetValue(req, 'user.ext.eids', eids);
}
return req;
}

Expand Down Expand Up @@ -435,6 +439,13 @@ function createSite(refInfo) {
return site;
}

function getExtendedUserIds(bidderRequest) {
let eids = utils.deepAccess(bidderRequest, 'bids.0.userIdAsEids');
if (utils.isArray(eids)) {
return eids;
}
}

/**
* Format creative with optional nurl call
* @param bid rtb Bid object
Expand Down
39 changes: 35 additions & 4 deletions modules/adnuntiusBidAdapter.js
Original file line number Diff line number Diff line change
@@ -1,38 +1,69 @@
import { registerBidder } from '../src/adapters/bidderFactory.js';
import { BANNER } from '../src/mediaTypes.js';
import * as utils from '../src/utils.js';
import { config } from '../src/config.js';

const BIDDER_CODE = 'adnuntius';
const ENDPOINT_URL = 'https://delivery.adnuntius.com/i?tzo=';
const GVLID = 855;

const checkSegment = function (segment) {
if (utils.isStr(segment)) return segment;
if (segment.id) return segment.id
}

const getSegmentsFromOrtb = function (ortb2) {
const userData = utils.deepAccess(ortb2, 'user.data');
let segments = [];
if (userData) {
userData.forEach(userdat => {
if (userdat.segment) {
segments.push(...userdat.segment.filter(checkSegment).map(checkSegment));
}
});
}
return segments
}

export const spec = {
code: BIDDER_CODE,

gvlid: GVLID,
supportedMediaTypes: [BANNER],
isBidRequestValid: function (bid) {
return !!(bid.bidId || (bid.params.member && bid.params.invCode));
},

buildRequests: function (validBidRequests) {
buildRequests: function (validBidRequests, bidderRequest) {
const networks = {};
const bidRequests = {};
const requests = [];
const ortb2 = config.getConfig('ortb2');
const segments = getSegmentsFromOrtb(ortb2);
const tzo = new Date().getTimezoneOffset();
const gdprApplies = utils.deepAccess(bidderRequest, 'gdprConsent.gdprApplies');
const consentString = utils.deepAccess(bidderRequest, 'gdprConsent.consentString');
const reqConsent = (gdprApplies !== undefined) ? '&consentString=' + consentString : '';
const reqSegments = (segments.length > 0) ? '&segments=' + segments.join(',') : '';

for (var i = 0; i < validBidRequests.length; i++) {
const bid = validBidRequests[i]
const network = bid.params.network || 'network';
const targeting = bid.params.targeting || {};

bidRequests[network] = bidRequests[network] || [];
bidRequests[network].push(bid);

networks[network] = networks[network] || {};
networks[network].adUnits = networks[network].adUnits || [];
networks[network].adUnits.push({ ...bid.params.targeting, auId: bid.params.auId, targetId: bid.bidId });
networks[network].adUnits.push({ ...targeting, auId: bid.params.auId, targetId: bid.bidId });
}

const networkKeys = Object.keys(networks)
for (var j = 0; j < networkKeys.length; j++) {
const network = networkKeys[j];
requests.push({
method: 'POST',
url: ENDPOINT_URL + tzo + '&format=json',
url: ENDPOINT_URL + tzo + '&format=json' + reqSegments + reqConsent,
data: JSON.stringify(networks[network]),
bid: bidRequests[network]
});
Expand Down
Loading