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

Grid placement branch: pull master #9884

Merged
merged 89 commits into from
May 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
3cb413f
ZetaGlobalSsp Bid Adapter: provide tagid from params (#9764)
asurovenko-zeta Apr 6, 2023
640a4ea
AIDEM Bid Adapter: extended app/site parameters on win notice (#9765)
darkstarac Apr 6, 2023
3c8d5c7
BrightcomSSP, Brightcom: remove options overide from buildRequests (#…
prBigBrother Apr 6, 2023
0b80f44
TTD Bid Adapter: add support for video.plcmt and imp.rwdd (#9762)
patmmccann Apr 6, 2023
0beb9a8
Criteo ID Module: Add error callback for pixel sync call (#9754)
vraybaud Apr 6, 2023
f24c202
PubMatic Bid Adapter: native 1.2 support (#9701)
pm-priyanka-deshmane Apr 6, 2023
f0c5c27
Update undertoneBidAdapter.js (#9778)
patmmccann Apr 6, 2023
4c1618c
appnexus bid adapter - add gvlids to aliases (#9777)
jsnellbaker Apr 6, 2023
7ea38f1
Update gumgumBidAdapter.js (#9779)
patmmccann Apr 6, 2023
4f45f15
Multiple modules: decouple GVL IDs from storage access control (#9736)
dgirardi Apr 6, 2023
3b82f53
Multiple bids in one request to Adrino Adserver (#9742)
tmielcarz Apr 7, 2023
34b7ea2
size map support (#9772)
0tarof Apr 10, 2023
9a05eb0
OpenxOrtbAdapter: add back missing params support for coppa and video…
bwschmidt Apr 10, 2023
9a5553a
Criteo Bid Adapter: Read GPP from ortb2 object (#9775)
dzhang-criteo Apr 10, 2023
5b118ff
vidazoo Bid Adapter: update support of metaData (#9749)
saar120 Apr 10, 2023
86e6ef5
Concert Bid Adapter: Enable support for additional userId's (#9780)
BrettBlox Apr 10, 2023
48a7e4a
Prebid 7.44.0 release
prebidjs-release Apr 10, 2023
f270145
Increment version to 7.45.0-pre
prebidjs-release Apr 10, 2023
5269653
vidoomy adapter: added bidfloor module (#9784)
nisart007 Apr 11, 2023
dd611c3
Prebid core: fix image assets in converted legacy response (#9752)
JulieLorin Apr 11, 2023
5fdf321
Mgid Adapter: update & refactor (#9751)
Gaudeamus Apr 11, 2023
60bd4ed
Various Bid Adapters: point tmax at request object (#9770)
Justin-Quinn51 Apr 11, 2023
20fdfcc
OpenXOrtb Bid Adapter: fix multiformat requests (#9790)
dgirardi Apr 11, 2023
44f52c4
FreeWheel SSP Bid Adapter: support video context and placement (#9792)
xwang202 Apr 11, 2023
f39dcf2
IX Bid Adapter: refactor build request method and ft improves (#9793)
shahinrahbariasl Apr 12, 2023
dbc6485
AMX ID System: allow cookie storage (#9761)
nickjacob Apr 12, 2023
f26f7db
Yahoo ConnectId UserID Module: explicit storage management (#9716)
slimkrazy Apr 12, 2023
f6dd267
Ogury Adapter add device density in bid request (#9796)
jogury Apr 12, 2023
0b21503
Growthcode UserId: Bug fixes & Better Error Catching (#9785)
southern-growthcode Apr 12, 2023
9890c52
LiveIntent UserId module: Add support for bidswitch and medianet ids …
3link Apr 12, 2023
db9bc3c
Yahoo ConnectId UserID Module: Resolving getStorageManager invocation…
jsadwith Apr 12, 2023
f7c2c34
CORE: disable the requirement for having a url, when enabling renderN…
olafbuitelaar Apr 13, 2023
66dfdef
JW Player Video Adapter: Support multiple setup listeners (#9791)
karimMourra Apr 13, 2023
584af55
Pub-X Bid Adapter: adding page url support (#9746)
yuki-arasaki Apr 13, 2023
7f43556
Magnite Analytics Adapter : add seat non bid handling (#9696)
spotxslagle Apr 13, 2023
d94c1a9
openxBidAdapter: update to OpenRTB adapter (#9794)
bwschmidt Apr 13, 2023
d3b108f
IVS Bid Adapter: initial adapter release (#9706)
ivs-mark Apr 13, 2023
578bda0
IVS bid adapter: fix tests (#9807)
dgirardi Apr 13, 2023
fc54926
Prebid 7.45.0 release
prebidjs-release Apr 13, 2023
67c778a
Increment version to 7.46.0-pre
prebidjs-release Apr 13, 2023
e7c26f8
Criteo Bid Adapter: Fix invalid deal property name mapping from bidde…
leonardlabat Apr 14, 2023
ab4741d
Kargo Bid Adapter: Refactor of bid request (#9731)
jsadwith Apr 14, 2023
bab720d
Criteo Bid Adapter: Map device sua field to user ext sua (#9809)
vraybaud Apr 14, 2023
2b355bd
Deleted the global.site.cattax field as it is not defined in openrtb …
AYlitepsa Apr 14, 2023
66a9476
kueezRtb Bid Adapter: Add support for passing metaData object from se…
saar120 Apr 17, 2023
4534d4b
AdMatic Bid Adapter: badv added (#9820)
fatihkaya84 Apr 17, 2023
ec76c84
MinuteMediaPlus Bid Adapter: Add support for passing metaData object …
saar120 Apr 17, 2023
0d1af3b
Nativo Bid Adapter: Adding UserId support (#9767)
jsfledd Apr 17, 2023
b94ca25
vidoomy adapter: added userid module (#9795)
nisart007 Apr 18, 2023
f53dfd7
KargoBidAdapter: GPP Support (#9812)
jsadwith Apr 18, 2023
2324abd
support VIDEO feature flag in PubMatic bid adapter (#9744)
mbcrute Apr 18, 2023
454caa3
Eskimi Bid Adapter: initial adapter release (#9768)
mrobakowski Apr 19, 2023
5fd37b2
Update the Conversant adapter to have source.tid to have auctionId (#…
johnwier Apr 19, 2023
c878dc2
MinuteMediaPlus Bid Adapter: Pass gpid to server. (#9830)
saar120 Apr 19, 2023
452f026
IX Bid Adapter: Support for Ad unit specific First Party Data (#9821)
shahinrahbariasl Apr 19, 2023
a28b607
KueezRtb Bid Adapter: Pass gpid to server. (#9831)
saar120 Apr 19, 2023
467f78f
Adnuntius Bid Adapter: Europe endpoint (#9829)
mikael-lundin Apr 19, 2023
c191573
TheMediaGrid: make gridNMBidAdater as alias for gridBidAdapter (#9832)
TheMediaGrid Apr 19, 2023
a539646
pairId userId submodule: initial commit for pairId submodule (#9662)
congdu-kun Apr 19, 2023
ad7d898
Build Process: Disallow it.skip (#9799)
patmmccann Apr 19, 2023
dcc99b3
Pair ID system: fix storageManager invocation (#9833)
dgirardi Apr 19, 2023
b8c1c95
Yieldmo Adapter: Send GPP data in bid request. (#9460)
desidiver Apr 19, 2023
343fa89
Bidwatch Analytics Adapter: add of the referer for bid won (#9818)
alaincajuste-msq Apr 19, 2023
e810189
Mediasquare Bid Adapter: add of the referer for onBidWon (#9817)
alaincajuste-msq Apr 20, 2023
1fc1ec3
vidoomy adapter: sync url changed (#9834)
nisart007 Apr 20, 2023
de22826
Support VIDEO feature flag in AppNexus bid adapter (#9653)
mbcrute Apr 20, 2023
55b2e08
ortbConverter: support video.plcmt (#9840)
bwschmidt Apr 21, 2023
608deda
Documentation: Add FLEDGE aka Protected Audience API examples (#9839)
laurb9 Apr 21, 2023
9c3196f
Core: fix spurious warnings on `mergeConfig` (#9704)
dgirardi Apr 21, 2023
24da871
Prebid 7.46.0 release
prebidjs-release Apr 21, 2023
21b9bbe
Increment version to 7.47.0-pre
prebidjs-release Apr 21, 2023
dc7b3c6
vidoomy adapter: added block module (#9825)
nimasrn Apr 24, 2023
ecbb223
Sending empty array instead of string. (#9846)
desidiver Apr 24, 2023
5ffd88a
RTB house Bid Adapter: fix encoding bug for bid response for native a…
kmrnpu Apr 25, 2023
cff4364
Missena Bid Adapter: fix alias (#9849)
pdamoc Apr 25, 2023
d0bb0f5
add EMTV adapter (#9783)
EngageMediaHB Apr 25, 2023
bff1f41
Criteo Id Module: ensure all kind of privacy strings are sent to back…
leonardlabat Apr 26, 2023
3430e8d
NextMillennium Bd Adapter : add gvlid (#9858)
JacobKlein26 Apr 27, 2023
51884fe
Prebid 7.47.0 release
prebidjs-release Apr 27, 2023
50fda60
Increment version to 7.48.0-pre
prebidjs-release Apr 27, 2023
a6d0b30
Adrino Bid Adapter: banner support added (#9860)
tmielcarz Apr 27, 2023
3f51102
Criteo Bid Adapter: Map native assets to slot.ext.assets (#9851)
vraybaud Apr 27, 2023
22ff9c2
Realvu analytics adapter: fix test failures on Edge (#9857)
dgirardi Apr 27, 2023
1ac3572
ORTB2 bcat & badv support + ORTB2 tests (#9871)
piotrj-rtbh Apr 28, 2023
0cf7c75
AdMatic Bid Adapter: added Video / Banner params (#9856)
fatihkaya84 May 1, 2023
48cd245
Triplelift Bid Adapter: copying ad unit impression data (#9865)
patrickloughrey May 1, 2023
e0e77cf
Multiple modules: do not use bidderTimeout as TTL (#9880)
dgirardi May 1, 2023
2edd264
Grid Bid Adapter: add support for video.plcmt (#9763)
patmmccann May 1, 2023
962d816
Revert "Grid Bid Adapter: add support for video.plcmt (#9763)" (#9882)
patmmccann May 1, 2023
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
103 changes: 103 additions & 0 deletions integrationExamples/gpt/fledge_example.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
<html>
<head>
<!--
FLEDGE (Protected Audience API) configuration with GPT and FLEDGE-supporting adapter

gulp serve --modules=fledgeForGpt,openxBidAdapter
-->
<script async src="../../build/dev/prebid.js"></script>
<script async src="https://www.googletagservices.com/tag/js/gpt.js"></script>
<script>
var FAILSAFE_TIMEOUT = 3000;
var PREBID_TIMEOUT = 1500;

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

var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];

googletag.cmd.push(function() {
googletag.pubads().disableInitialLoad();
});

var adUnits = [{
code: 'div-gpt-ad-1460505748561-0',
mediaTypes: {
banner: {
sizes: [[300, 250]]
}
},
bids: [{
bidder: 'openx',
params: {
platform: '8869ec2c-9d3f-4f16-9d2f-49aaab8978fb',
unit: '111111'
}
}],
ortb2Imp: {
ext: {
ae: 1
}
}
}];

pbjs.que.push(function() {
pbjs.setConfig({
fledgeForGpt: {
enabled: true
}
});

pbjs.setBidderConfig({
bidders: ['openx'],
config: {
fledgeEnabled: true
}
});

pbjs.addAdUnits(adUnits);

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);
});

googletag.cmd.push(function() {
googletag
.defineSlot('/19968336/header-bid-tag-0', adUnits[0].mediaTypes.banner.sizes, 'div-gpt-ad-1460505748561-0')
.addService(googletag.pubads());

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

<body>
<h2>Prebid.js FLEDGE+GPT Example</h2>

<h5>Div-1</h5>
<div id='div-gpt-ad-1460505748561-0'>
<script type='text/javascript'>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1460505748561-0'); });
</script>
</div>
</body>
</html>
111 changes: 111 additions & 0 deletions integrationExamples/gpt/prebidServer_fledge_example.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
<html>
<head>
<!--
FLEDGE (Protected Audience API) configuration with GPT and Prebid-Server

gulp serve --modules=fledgeForGpt,prebidServerBidAdapter
-->
<script async src="../../build/dev/prebid.js"></script>
<script async src="https://www.googletagservices.com/tag/js/gpt.js"></script>
<script>
var FAILSAFE_TIMEOUT = 3000;
var PREBID_TIMEOUT = 1500;

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

var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];

googletag.cmd.push(function() {
googletag.pubads().disableInitialLoad();
});

var adUnits = [{
code: 'div-gpt-ad-1460505748561-0',
mediaTypes: {
banner: {
sizes: [[300, 250]]
}
},
bids: [{
bidder: 'openx',
params: {
platform: '8869ec2c-9d3f-4f16-9d2f-49aaab8978fb',
unit: '111111'
}
}],
ortb2Imp: {
ext: {
ae: 1
}
}
}];

pbjs.que.push(function() {
pbjs.setConfig({
fledgeForGpt: {
enabled: true
},
s2sConfig: [{
accountId : '1',
enabled : true,
defaultVendor: 'appnexus',
bidders : ['openx'],
timeout : 1500,
adapter : 'prebidServer'
}]
});

pbjs.setBidderConfig({
bidders: ['openx'],
config: {
fledgeEnabled: true
}
});

pbjs.addAdUnits(adUnits);

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);
});

googletag.cmd.push(function() {
googletag
.defineSlot('/19968336/header-bid-tag-0', adUnits[0].mediaTypes.banner.sizes, 'div-gpt-ad-1460505748561-0')
.addService(googletag.pubads());

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

<body>
<h2>Prebid.js FLEDGE+GPT Example</h2>

<h5>Div-1</h5>
<div id='div-gpt-ad-1460505748561-0'>
<script type='text/javascript'>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1460505748561-0'); });
</script>
</div>
</body>
</html>
39 changes: 39 additions & 0 deletions libraries/domainOverrideToRootDomain/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/**
* Create a domainOverride callback for an ID module, closing over
* an instance of StorageManager.
*
* The domainOverride function, given document.domain, will return
* the topmost domain we are able to set a cookie on. For example,
* given subdomain.example.com, it would return example.com.
*
* @param {StorageManager} storage e.g. from getStorageManager()
* @param {string} moduleName the name of the module using this function
* @returns {function(): string}
*/
export function domainOverrideToRootDomain(storage, moduleName) {
return function() {
const domainElements = document.domain.split('.');
const cookieName = `_gd${Date.now()}_${moduleName}`;

for (let i = 0, topDomain, testCookie; i < domainElements.length; i++) {
const nextDomain = domainElements.slice(i).join('.');

// write test cookie
storage.setCookie(cookieName, '1', undefined, undefined, nextDomain);

// read test cookie to verify domain was valid
testCookie = storage.getCookie(cookieName);

// delete test cookie
storage.setCookie(cookieName, '', 'Thu, 01 Jan 1970 00:00:01 GMT', undefined, nextDomain);

if (testCookie === '1') {
// cookie was written successfully using test domain so the topDomain is updated
topDomain = nextDomain;
} else {
// cookie failed to write using test domain so exit by returning the topDomain
return topDomain;
}
}
}
}
1 change: 1 addition & 0 deletions libraries/ortbConverter/processors/video.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {sizesToFormat} from '../lib/sizes.js';
const ORTB_VIDEO_PARAMS = new Set([
'pos',
'placement',
'plcmt',
'api',
'mimes',
'protocols',
Expand Down
9 changes: 4 additions & 5 deletions modules/ablidaBidAdapter.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { triggerPixel } from '../src/utils.js';
import {config} from '../src/config.js';
import {triggerPixel} from '../src/utils.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
import { convertOrtbRequestToProprietaryNative } from '../src/native.js';
import {BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js';
import {convertOrtbRequestToProprietaryNative} from '../src/native.js';

const BIDDER_CODE = 'ablida';
const ENDPOINT_URL = 'https://bidder.ablida.net/prebid';
Expand Down Expand Up @@ -77,7 +76,7 @@ export const spec = {
const response = serverResponse.body;

response.forEach(function(bid) {
bid.ttl = config.getConfig('_bidderTimeout');
bid.ttl = 60
bidResponses.push(bid);
});
return bidResponses;
Expand Down
2 changes: 1 addition & 1 deletion modules/acuityAdsBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ export const spec = {
coppa: config.getConfig('coppa') === true ? 1 : 0,
ccpa: bidderRequest.uspConsent || undefined,
gdpr: bidderRequest.gdprConsent || undefined,
tmax: config.getConfig('bidderTimeout')
tmax: bidderRequest.timeout
};

const len = validBidRequests.length;
Expand Down
2 changes: 1 addition & 1 deletion modules/adagioBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ const SUPPORTED_MEDIA_TYPES = [BANNER, NATIVE, VIDEO];
const ADAGIO_TAG_URL = 'https://script.4dex.io/localstore.js';
const ADAGIO_LOCALSTORAGE_KEY = 'adagioScript';
const GVLID = 617;
export const storage = getStorageManager({gvlid: GVLID, bidderCode: BIDDER_CODE});
export const storage = getStorageManager({bidderCode: BIDDER_CODE});
export const RENDERER_URL = 'https://script.4dex.io/outstream-player.js';
const MAX_SESS_DURATION = 30 * 60 * 1000;
const ADAGIO_PUBKEY = 'AL16XT44Sfp+8SHVF1UdC7hydPSMVLMhsYknKDdwqq+0ToDSJrP0+Qh0ki9JJI2uYm/6VEYo8TJED9WfMkiJ4vf02CW3RvSWwc35bif2SK1L8Nn/GfFYr/2/GG/Rm0vUsv+vBHky6nuuYls20Og0HDhMgaOlXoQ/cxMuiy5QSktp';
Expand Down
6 changes: 4 additions & 2 deletions modules/adkernelAdnAnalyticsAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ import { logError, parseUrl, _each } from '../src/utils.js';
import {ajax} from '../src/ajax.js';
import {getStorageManager} from '../src/storageManager.js';
import {config} from '../src/config.js';
import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';

const MODULE_CODE = 'adkernelAdn';
const GVLID = 14;
const ANALYTICS_VERSION = '1.0.2';
const DEFAULT_QUEUE_TIMEOUT = 4000;
const DEFAULT_HOST = 'tag.adkernel.com';
const storageObj = getStorageManager({gvlid: GVLID});
const storageObj = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});

const ADK_HB_EVENTS = {
AUCTION_INIT: 'auctionInit',
Expand Down Expand Up @@ -104,7 +106,7 @@ analyticsAdapter.enableAnalytics = (config) => {

adapterManager.registerAnalyticsAdapter({
adapter: analyticsAdapter,
code: 'adkernelAdn',
code: MODULE_CODE,
gvlid: GVLID
});

Expand Down
Loading