Skip to content

Commit

Permalink
MinuteMedia Bid Adapter: support sua and plcmt params (prebid#9997)
Browse files Browse the repository at this point in the history
* add Rise adapter

* fixes

* change param isOrg to org

* Rise adapter

* change email for rise

* fix circle failed

* bump

* bump

* bump

* remove space

* Upgrade Rise adapter to 5.0

* added isWrapper param

* addes is_wrapper parameter to documentation

* added is_wrapper to test

* removed isWrapper

* Rise Bid Adapter: support Coppa param (#24)

* MinuteMedia Bid Adapter: support Coppa param (#25)

* Revert "MinuteMedia Bid Adapter: support Coppa param (#25)" (#26)

This reverts commit 66c4e7b.

* bump

* update coppa fetch

* setting coppa param update

* update Coppa tests

* update test naming

* support plcmt and sua params + tests

---------

Co-authored-by: Noam Tzuberi <[email protected]>
Co-authored-by: noamtzu <[email protected]>
Co-authored-by: Noam Tzuberi <[email protected]>
Co-authored-by: Laslo Chechur <[email protected]>
Co-authored-by: OronW <[email protected]>
Co-authored-by: lasloche <[email protected]>
Co-authored-by: inna <[email protected]>
Co-authored-by: YakirLavi <[email protected]>
  • Loading branch information
9 people authored May 25, 2023
1 parent c42cd5e commit 8b7bab1
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 4 deletions.
16 changes: 13 additions & 3 deletions modules/minutemediaBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,16 @@ function generateBidParameters(bid, bidderRequest) {
bidObject.placementId = placementId;
}

const sua = deepAccess(bid, `ortb2.device.sua`);
if (sua) {
bidObject.sua = sua;
}

const coppa = deepAccess(bid, `ortb2.regs.coppa`)
if (coppa) {
bidObject.coppa = 1;
}

if (mediaType === VIDEO) {
const playbackMethod = deepAccess(bid, `mediaTypes.video.playbackmethod`);
let playbackMethodValue;
Expand Down Expand Up @@ -348,9 +358,9 @@ function generateBidParameters(bid, bidderRequest) {
bidObject.linearity = linearity;
}

const coppa = deepAccess(bid, `ortb2.regs.coppa`);
if (coppa) {
bidObject.coppa = 1;
const plcmt = deepAccess(bid, `mediaTypes.video.plcmt`);
if (plcmt) {
bidObject.plcmt = plcmt;
}
}

Expand Down
70 changes: 69 additions & 1 deletion test/spec/modules/minutemediaBidAdapter_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,8 @@ describe('minutemediaAdapter', function () {
'mediaTypes': {
'video': {
'playerSize': [[640, 480]],
'context': 'instream'
'context': 'instream',
'plcmt': 1
}
},
'vastXml': '"<VAST version=\\\"2.0\\\">...</VAST>"'
Expand Down Expand Up @@ -116,6 +117,11 @@ describe('minutemediaAdapter', function () {
expect(request.method).to.equal('POST');
});

it('sends the plcmt to ENDPOINT via POST', function () {
const request = spec.buildRequests(bidRequests, bidderRequest);
expect(request.data.bids[0].plcmt).to.equal(1);
});

it('sends bid request to TEST ENDPOINT via POST', function () {
const request = spec.buildRequests(testModeBidRequests, bidderRequest);
expect(request.url).to.equal(TEST_ENDPOINT);
Expand Down Expand Up @@ -294,6 +300,68 @@ describe('minutemediaAdapter', function () {
expect(request.data.bids[0]).to.have.property('floorPrice', 1.5);
});

it('should check sua param in bid request', function() {
const sua = {
'platform': {
'brand': 'macOS',
'version': ['12', '4', '0']
},
'browsers': [
{
'brand': 'Chromium',
'version': [ '106', '0', '5249', '119' ]
},
{
'brand': 'Google Chrome',
'version': [ '106', '0', '5249', '119' ]
},
{
'brand': 'Not;A=Brand',
'version': [ '99', '0', '0', '0' ]
}
],
'mobile': 0,
'model': '',
'bitness': '64',
'architecture': 'x86'
}
const bid = utils.deepClone(bidRequests[0]);
bid.ortb2 = {
'device': {
'sua': {
'platform': {
'brand': 'macOS',
'version': [ '12', '4', '0' ]
},
'browsers': [
{
'brand': 'Chromium',
'version': [ '106', '0', '5249', '119' ]
},
{
'brand': 'Google Chrome',
'version': [ '106', '0', '5249', '119' ]
},
{
'brand': 'Not;A=Brand',
'version': [ '99', '0', '0', '0' ]
}
],
'mobile': 0,
'model': '',
'bitness': '64',
'architecture': 'x86'
}
}
}
const requestWithSua = spec.buildRequests([bid], bidderRequest);
const data = requestWithSua.data;
expect(data.bids[0].sua).to.exist;
expect(data.bids[0].sua).to.deep.equal(sua);
const request = spec.buildRequests(bidRequests, bidderRequest);
expect(request.data.bids[0].sua).to.not.exist;
});

describe('COPPA Param', function() {
it('should set coppa equal 0 in bid request if coppa is set to false', function() {
const request = spec.buildRequests(bidRequests, bidderRequest);
Expand Down

0 comments on commit 8b7bab1

Please sign in to comment.