Skip to content

Commit

Permalink
TheMediaGrid Bid Adapters : do not use jwp segments from bid.rtd field (
Browse files Browse the repository at this point in the history
#9627)

* TheMediaGrid: do not use jwp segments from bid.rtd field

* TheMediaGridNM: do not use jwp segments from bid.rtd field
  • Loading branch information
TheMediaGrid authored Mar 7, 2023
1 parent fdf036c commit 7a02f2e
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 101 deletions.
55 changes: 5 additions & 50 deletions modules/gridBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,6 @@ export const spec = {
return null;
}
let pageKeywords = null;
let jwpseg = null;
let content = null;
let schain = null;
let userIdAsEids = null;
Expand Down Expand Up @@ -128,16 +127,11 @@ export const spec = {
endpoint = ALIAS_CONFIG[bid.bidder] && ALIAS_CONFIG[bid.bidder].endpoint;
}
const { params: { uid, keywords, forceBidder, multiRequest }, mediaTypes, bidId, adUnitCode, rtd, ortb2Imp } = bid;
const { pubdata, secid, pubid, source, content: bidParamsContent } = bid.params;
const { secid, pubid, source, content: bidParamsContent } = bid.params;
const bidFloor = _getFloor(mediaTypes || {}, bid);
const jwTargeting = rtd && rtd.jwplayer && rtd.jwplayer.targeting;
if (jwTargeting) {
if (!jwpseg && jwTargeting.segments) {
jwpseg = jwTargeting.segments;
}
if (!content && jwTargeting.content) {
content = jwTargeting.content;
}
if (jwTargeting && !content && jwTargeting.content) {
content = jwTargeting.content;
}

let impObj = {
Expand Down Expand Up @@ -210,23 +204,12 @@ export const spec = {
request.site.publisher = { id: pubid };
}

const reqJwpseg = (pubdata && pubdata.jwpseg) || (jwTargeting && jwTargeting.segments);

const siteContent = bidParamsContent || (jwTargeting && jwTargeting.content);

if (siteContent) {
request.site.content = siteContent;
}

if (reqJwpseg && reqJwpseg.length) {
request.user = {
data: [{
name: 'iow_labs_pub_data',
segment: segmentProcessing(reqJwpseg, 'jwpseg'),
}]
};
}

requests.push(request);
sources.push(source);
bidsArray.push(bidObject);
Expand Down Expand Up @@ -274,28 +257,16 @@ export const spec = {
mainRequest.site.content = content;
}

if (jwpseg && jwpseg.length) {
mainRequest.user = {
data: [{
name: 'iow_labs_pub_data',
segment: segmentProcessing(jwpseg, 'jwpseg'),
}]
};
}

[...requests, mainRequest].forEach((request) => {
if (!request) {
return;
}

if (request.user) user = request.user;
user = null;

const ortb2UserData = deepAccess(bidderRequest, 'ortb2.user.data');
if (ortb2UserData && ortb2UserData.length) {
if (!user) user = { data: [] };
user = mergeDeep(user, {
data: [...ortb2UserData]
});
user = { data: [...ortb2UserData] };
}

if (gdprConsent && gdprConsent.consentString) {
Expand Down Expand Up @@ -650,22 +621,6 @@ function getUserIdFromFPDStorage() {
return storage.getDataFromLocalStorage(USER_ID_KEY) || makeNewUserIdInFPDStorage();
}

function segmentProcessing(segment, forceSegName) {
return segment
.map((seg) => {
const value = seg && (seg.id || seg);
if (typeof value === 'string' || typeof value === 'number') {
return {
value: value.toString(),
...(forceSegName && { name: forceSegName }),
...(seg.name && { name: seg.name }),
};
}
return null;
})
.filter((seg) => !!seg);
}

function reformatKeywords(pageKeywords) {
const formatedPageKeywords = {};
Object.keys(pageKeywords).forEach((name) => {
Expand Down
28 changes: 1 addition & 27 deletions modules/gridNMBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,13 +90,12 @@ export const spec = {
auctionId = bid.auctionId;
}
const {
params: { floorcpm, pubdata, source, secid, pubid, content, video },
params: { floorcpm, source, secid, pubid, content, video },
mediaTypes, bidId, adUnitCode, rtd, ortb2Imp, sizes
} = bid;

const bidFloor = _getFloor(mediaTypes || {}, bid, isNumber(floorcpm) && floorcpm);
const jwTargeting = rtd && rtd.jwplayer && rtd.jwplayer.targeting;
const jwpseg = (pubdata && pubdata.jwpseg) || (jwTargeting && jwTargeting.segments);

const siteContent = content || (jwTargeting && jwTargeting.content);

Expand Down Expand Up @@ -156,15 +155,6 @@ export const spec = {
request.site.content = siteContent;
}

if (jwpseg && jwpseg.length) {
user = {
data: [{
name: 'iow_labs_pub_data',
segment: segmentProcessing(jwpseg, 'jwpseg'),
}]
};
}

if (gdprConsent && gdprConsent.consentString) {
userExt = { consent: gdprConsent.consentString };
}
Expand Down Expand Up @@ -429,20 +419,4 @@ export function getSyncUrl() {
return SYNC_URL;
}

function segmentProcessing(segment, forceSegName) {
return segment
.map((seg) => {
const value = seg && (seg.id || seg);
if (typeof value === 'string' || typeof value === 'number') {
return {
value: value.toString(),
...(forceSegName && { name: forceSegName }),
...(seg.name && { name: seg.name }),
};
}
return null;
})
.filter((seg) => !!seg);
}

registerBidder(spec);
18 changes: 2 additions & 16 deletions test/spec/modules/gridBidAdapter_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -667,14 +667,6 @@ describe('TheMediaGrid Adapter', function () {
const [request] = spec.buildRequests(bidRequestsWithJwTargeting, bidderRequest);
expect(request.data).to.be.an('string');
const payload = parseRequest(request.data);
expect(payload).to.have.property('user');
expect(payload.user.data).to.deep.equal([{
name: 'iow_labs_pub_data',
segment: [
{name: 'jwpseg', value: jsSegments[0]},
{name: 'jwpseg', value: jsSegments[1]}
]
}]);
expect(payload).to.have.property('site');
expect(payload.site.content).to.deep.equal(jsContent);
});
Expand Down Expand Up @@ -793,7 +785,7 @@ describe('TheMediaGrid Adapter', function () {
expect(payload.site.content.data).to.deep.equal(contentData);
});

it('should have right value in user.data when jwpsegments are present', function () {
it('should have right value in user.data', function () {
const userData = [
{
name: 'someName',
Expand Down Expand Up @@ -823,13 +815,7 @@ describe('TheMediaGrid Adapter', function () {
});
const [request] = spec.buildRequests([bidRequestsWithJwTargeting], {...bidderRequest, ortb2});
const payload = parseRequest(request.data);
expect(payload.user.data).to.deep.equal([{
name: 'iow_labs_pub_data',
segment: [
{name: 'jwpseg', value: jsSegments[0]},
{name: 'jwpseg', value: jsSegments[1]}
]
}, ...userData]);
expect(payload.user.data).to.deep.equal(userData);
});

it('should have site.content.id filled from config ortb2.site.content.id', function () {
Expand Down
8 changes: 0 additions & 8 deletions test/spec/modules/gridNMBidAdapter_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -245,14 +245,6 @@ describe('TheMediaGridNM Adapter', function () {
requests.forEach((req, i) => {
const payload = req.data;
expect(req).to.have.property('data');
expect(payload).to.have.property('user');
expect(payload.user.data).to.deep.equal([{
name: 'iow_labs_pub_data',
segment: [
{name: 'jwpseg', value: jsSegments[0]},
{name: 'jwpseg', value: jsSegments[1]}
]
}]);
expect(payload).to.have.property('site');
expect(payload.site.content).to.deep.equal(jsContent);
});
Expand Down

0 comments on commit 7a02f2e

Please sign in to comment.