Skip to content

Commit 3cde995

Browse files
ckbo3hrkrobertrmartinez
authored andcommitted
admarkup html wrapping removed (#3432)
1 parent b436eb6 commit 3cde995

File tree

4 files changed

+157
-86
lines changed

4 files changed

+157
-86
lines changed

modules/adkernelAdnBidAdapter.js

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,30 @@ import * as utils from '../src/utils';
22
import {registerBidder} from '../src/adapters/bidderFactory';
33
import {BANNER, VIDEO} from '../src/mediaTypes';
44
import includes from 'core-js/library/fn/array/includes';
5+
import {parse as parseUrl} from '../src/url';
56

67
const DEFAULT_ADKERNEL_DSP_DOMAIN = 'tag.adkernel.com';
78
const VIDEO_TARGETING = ['mimes', 'protocols', 'api'];
89
const DEFAULT_MIMES = ['video/mp4', 'video/webm', 'application/x-shockwave-flash', 'application/javascript'];
910
const DEFAULT_PROTOCOLS = [2, 3, 5, 6];
1011
const DEFAULT_APIS = [1, 2];
1112

12-
function isRtbDebugEnabled() {
13-
return utils.getTopWindowLocation().href.indexOf('adk_debug=true') !== -1;
13+
function isRtbDebugEnabled(refInfo) {
14+
return refInfo.referer.indexOf('adk_debug=true') !== -1;
1415
}
1516

1617
function buildImp(bidRequest) {
1718
let imp = {
1819
id: bidRequest.bidId,
1920
tagid: bidRequest.adUnitCode
2021
};
21-
if (bidRequest.mediaType === BANNER || utils.deepAccess(bidRequest, `mediaTypes.banner`) ||
22-
(bidRequest.mediaTypes === undefined && bidRequest.mediaType === undefined)) {
23-
let sizes = canonicalizeSizesArray(bidRequest.sizes);
22+
if (utils.deepAccess(bidRequest, `mediaTypes.banner`)) {
23+
let sizes = canonicalizeSizesArray(bidRequest.mediaTypes.banner.sizes);
2424
imp.banner = {
2525
format: utils.parseSizesInput(sizes)
2626
}
27-
} else if (bidRequest.mediaType === VIDEO || utils.deepAccess(bidRequest, `mediaTypes.video`)) {
28-
let size = canonicalizeSizesArray(bidRequest.sizes)[0];
27+
} else if (utils.deepAccess(bidRequest, `mediaTypes.video`)) {
28+
let size = canonicalizeSizesArray(bidRequest.mediaTypes.video.playerSize)[0];
2929
imp.video = {
3030
w: size[0],
3131
h: size[1],
@@ -54,11 +54,11 @@ function canonicalizeSizesArray(sizes) {
5454
return sizes;
5555
}
5656

57-
function buildRequestParams(tags, auctionId, transactionId, gdprConsent) {
57+
function buildRequestParams(tags, auctionId, transactionId, gdprConsent, refInfo) {
5858
let req = {
5959
id: auctionId,
6060
tid: transactionId,
61-
site: buildSite(),
61+
site: buildSite(refInfo),
6262
imp: tags
6363
};
6464

@@ -74,13 +74,15 @@ function buildRequestParams(tags, auctionId, transactionId, gdprConsent) {
7474
return req;
7575
}
7676

77-
function buildSite() {
78-
let loc = utils.getTopWindowLocation();
77+
function buildSite(refInfo) {
78+
let loc = parseUrl(refInfo.referer);
7979
let result = {
80-
page: loc.href,
81-
ref: utils.getTopWindowReferrer(),
82-
secure: ~~(loc.protocol === 'https:')
80+
page: `${loc.protocol}://${loc.hostname}${loc.pathname}`,
81+
secure: ~~(loc.protocol === 'https')
8382
};
83+
if (self === top && document.referrer) {
84+
result.ref = document.referrer;
85+
}
8486
let keywords = document.getElementsByTagName('meta')['keywords'];
8587
if (keywords && keywords.content) {
8688
result.keywords = keywords.content;
@@ -101,7 +103,7 @@ function buildBid(tag) {
101103
netRevenue: true
102104
};
103105
if (tag.tag) {
104-
bid.ad = `<!DOCTYPE html><html><head><title></title><body style='margin:0px;padding:0px;'>${tag.tag}</body></head>`;
106+
bid.ad = tag.tag;
105107
bid.mediaType = BANNER;
106108
} else if (tag.vast_url) {
107109
bid.vastUrl = tag.vast_url;
@@ -117,7 +119,7 @@ export const spec = {
117119

118120
isBidRequestValid: function(bidRequest) {
119121
return 'params' in bidRequest && (typeof bidRequest.params.host === 'undefined' || typeof bidRequest.params.host === 'string') &&
120-
typeof bidRequest.params.pubId === 'number';
122+
typeof bidRequest.params.pubId === 'number' && 'mediaTypes' in bidRequest && ('banner' in bidRequest.mediaTypes || 'video' in bidRequest.mediaTypes);
121123
},
122124

123125
buildRequests: function(bidRequests, bidderRequest) {
@@ -134,13 +136,14 @@ export const spec = {
134136
let auctionId = bidderRequest.auctionId;
135137
let gdprConsent = bidderRequest.gdprConsent;
136138
let transactionId = bidderRequest.transactionId;
139+
let refererInfo = bidderRequest.refererInfo;
137140
let requests = [];
138141
Object.keys(dispatch).forEach(host => {
139142
Object.keys(dispatch[host]).forEach(pubId => {
140-
let request = buildRequestParams(dispatch[host][pubId], auctionId, transactionId, gdprConsent);
143+
let request = buildRequestParams(dispatch[host][pubId], auctionId, transactionId, gdprConsent, refererInfo);
141144
requests.push({
142145
method: 'POST',
143-
url: `//${host}/tag?account=${pubId}&pb=1${isRtbDebugEnabled() ? '&debug=1' : ''}`,
146+
url: `//${host}/tag?account=${pubId}&pb=1${isRtbDebugEnabled(refererInfo) ? '&debug=1' : ''}`,
144147
data: JSON.stringify(request)
145148
})
146149
});

modules/adkernelBidAdapter.js

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { BANNER, VIDEO } from '../src/mediaTypes';
33
import {registerBidder} from '../src/adapters/bidderFactory';
44
import find from 'core-js/library/fn/array/find';
55
import includes from 'core-js/library/fn/array/includes';
6-
import {parse as parseUrl} from '../src/url'
6+
import {parse as parseUrl} from '../src/url';
77

88
const VIDEO_TARGETING = ['mimes', 'minduration', 'maxduration', 'protocols',
99
'startdelay', 'linearity', 'boxingallowed', 'playbackmethod', 'delivery',
@@ -20,7 +20,8 @@ export const spec = {
2020
supportedMediaTypes: [BANNER, VIDEO],
2121
isBidRequestValid: function(bidRequest) {
2222
return 'params' in bidRequest && typeof bidRequest.params.host !== 'undefined' &&
23-
'zoneId' in bidRequest.params && !isNaN(Number(bidRequest.params.zoneId));
23+
'zoneId' in bidRequest.params && !isNaN(Number(bidRequest.params.zoneId)) &&
24+
bidRequest.mediaTypes && (bidRequest.mediaTypes.banner || bidRequest.mediaTypes.video);
2425
},
2526
buildRequests: function(bidRequests, bidderRequest) {
2627
let impDispatch = dispatchImps(bidRequests, bidderRequest.refererInfo);
@@ -31,14 +32,9 @@ export const spec = {
3132
Object.keys(impDispatch[host]).forEach(zoneId => {
3233
const request = buildRtbRequest(impDispatch[host][zoneId], auctionId, gdprConsent, bidderRequest.refererInfo);
3334
requests.push({
34-
method: 'GET',
35-
url: `${window.location.protocol}//${host}/rtbg`,
36-
data: {
37-
zone: Number(zoneId),
38-
ad_type: 'rtb',
39-
v: VERSION,
40-
r: JSON.stringify(request)
41-
}
35+
method: 'POST',
36+
url: `${window.location.protocol}//${host}/hb?zone=${Number(zoneId)}&v=${VERSION}`,
37+
data: JSON.stringify(request)
4238
});
4339
});
4440
});
@@ -50,7 +46,7 @@ export const spec = {
5046
return [];
5147
}
5248

53-
let rtbRequest = JSON.parse(request.data.r);
49+
let rtbRequest = JSON.parse(request.data);
5450
let rtbImps = rtbRequest.imp;
5551
let rtbBids = response.seatbid
5652
.map(seatbid => seatbid.bid)
@@ -120,15 +116,14 @@ function buildImp(bidRequest, secure) {
120116
'tagid': bidRequest.adUnitCode
121117
};
122118

123-
if (bidRequest.mediaType === BANNER || utils.deepAccess(bidRequest, `mediaTypes.banner`) ||
124-
(bidRequest.mediaTypes === undefined && bidRequest.mediaType === undefined)) {
125-
let sizes = canonicalizeSizesArray(bidRequest.sizes);
119+
if (utils.deepAccess(bidRequest, `mediaTypes.banner`)) {
120+
let sizes = canonicalizeSizesArray(bidRequest.mediaTypes.banner.sizes);
126121
imp.banner = {
127122
format: sizes.map(s => ({'w': s[0], 'h': s[1]})),
128123
topframe: 0
129124
};
130-
} else if (bidRequest.mediaType === VIDEO || utils.deepAccess(bidRequest, 'mediaTypes.video')) {
131-
let size = canonicalizeSizesArray(bidRequest.sizes)[0];
125+
} else if (utils.deepAccess(bidRequest, 'mediaTypes.video')) {
126+
let size = canonicalizeSizesArray(bidRequest.mediaTypes.video.playerSize)[0];
132127
imp.video = {
133128
w: size[0],
134129
h: size[1]
@@ -222,9 +217,9 @@ function createSite(refInfo) {
222217
* @param bid rtb Bid object
223218
*/
224219
function formatAdMarkup(bid) {
225-
var adm = bid.adm;
220+
let adm = bid.adm;
226221
if ('nurl' in bid) {
227222
adm += utils.createTrackPixelHtml(`${bid.nurl}&px=1`);
228223
}
229-
return `<!DOCTYPE html><html><head><title></title><body style='margin:0px;padding:0px;'>${adm}</body></head>`;
224+
return adm;
230225
}

0 commit comments

Comments
 (0)