From fddd5867d11a31e8add531a0ffac9b5ec2cd470c Mon Sep 17 00:00:00 2001 From: "OEM Configuration (temporary user)" Date: Fri, 15 Oct 2021 14:51:55 +0300 Subject: [PATCH 1/4] add video --- modules/betweenBidAdapter.js | 18 ++++++++-- test/spec/modules/betweenBidAdapter_spec.js | 40 +++++++++++++++++++++ 2 files changed, 56 insertions(+), 2 deletions(-) diff --git a/modules/betweenBidAdapter.js b/modules/betweenBidAdapter.js index 7ac1e4edf15..1e6cb4eadc8 100644 --- a/modules/betweenBidAdapter.js +++ b/modules/betweenBidAdapter.js @@ -8,7 +8,7 @@ const ENDPOINT = 'https://ads.betweendigital.com/adjson?t=prebid'; export const spec = { code: BIDDER_CODE, aliases: ['btw'], - supportedMediaTypes: ['banner'], + supportedMediaTypes: ['banner', 'video'], /** * Determines whether or not the given bid request is valid. * @@ -30,6 +30,8 @@ export const spec = { const refInfo = getRefererInfo(); validBidRequests.forEach((i) => { + const video = i.mediaTypes && i.mediaTypes.video; + let params = { eids: getUsersIds(i), sizes: parseSizesInput(getAdUnitSizes(i)), @@ -38,12 +40,20 @@ export const spec = { tz: getTz(), fl: getFl(), rr: getRr(), - s: i.params.s, + s: i.params && i.params.s, bidid: i.bidId, transactionid: i.transactionId, auctionid: i.auctionId }; + if (video) { + params.mediaType = 2; + params.maxd = video.maxd; + params.mind = video.mind; + params.jst = 'pvc'; + params.pos = 'atf'; + } + if (i.params.itu !== undefined) { params.itu = i.params.itu; } @@ -94,12 +104,15 @@ export const spec = { */ interpretResponse: function(serverResponse, bidRequest) { const bidResponses = []; + for (var i = 0; i < serverResponse.body.length; i++) { let bidResponse = { requestId: serverResponse.body[i].bidid, cpm: serverResponse.body[i].cpm || 0, width: serverResponse.body[i].w, height: serverResponse.body[i].h, + vastXml: serverResponse.body[i].vastXml, + mediaType: serverResponse.body[i].mediaType, ttl: serverResponse.body[i].ttl, creativeId: serverResponse.body[i].creativeid, currency: serverResponse.body[i].currency || 'RUB', @@ -109,6 +122,7 @@ export const spec = { advertiserDomains: serverResponse.body[i].adomain ? serverResponse.body[i].adomain : [] } }; + bidResponses.push(bidResponse); } return bidResponses; diff --git a/test/spec/modules/betweenBidAdapter_spec.js b/test/spec/modules/betweenBidAdapter_spec.js index 7f8e69669a8..3b46ed8cbf3 100644 --- a/test/spec/modules/betweenBidAdapter_spec.js +++ b/test/spec/modules/betweenBidAdapter_spec.js @@ -23,6 +23,31 @@ describe('betweenBidAdapterTests', function () { let req_data = JSON.parse(request.data)[0].data; expect(req_data.bidid).to.equal('bid1234'); }); + + it('validate_video_params', function () { + let bidRequestData = [{ + bidId: 'bid1234', + bidder: 'between', + params: {w: 240, h: 400, s: 1112}, + mediaTypes: { + video: { + context: 'outstream', + playerSize: [970, 250], + maxd: 123, + mind: 234, + } + }, + }]; + let request = spec.buildRequests(bidRequestData); + let req_data = JSON.parse(request.data)[0].data; + + expect(req_data.mediaType).to.equal(2); + expect(req_data.maxd).to.equal(123); + expect(req_data.mind).to.equal(234); + expect(req_data.jst).to.equal('pvc'); + expect(req_data.pos).to.equal('atf'); + }); + it('validate itu param', function() { let bidRequestData = [{ bidId: 'bid1234', @@ -230,6 +255,21 @@ describe('betweenBidAdapterTests', function () { expect(bid.requestId).to.equal('bid1234'); expect(bid.ad).to.equal('Ad html'); }); + + it('validate_response_video_params', function () { + let serverResponse = { + body: [{ + mediaType: 2, + vastXml: 'vastXml', + }] + }; + let bids = spec.interpretResponse(serverResponse); + expect(bids).to.have.lengthOf(1); + let bid = bids[0]; + expect(bid.mediaType).to.equal(2); + expect(bid.vastXml).to.equal('vastXml'); + }); + it('validate response params without currency', function () { let serverResponse = { body: [{ From c1303ba3875c028edfc647de58075409d994d14e Mon Sep 17 00:00:00 2001 From: "OEM Configuration (temporary user)" Date: Mon, 18 Oct 2021 17:58:53 +0300 Subject: [PATCH 2/4] Between Bid Adapter: update video --- modules/betweenBidAdapter.js | 2 ++ test/spec/modules/betweenBidAdapter_spec.js | 2 ++ 2 files changed, 4 insertions(+) diff --git a/modules/betweenBidAdapter.js b/modules/betweenBidAdapter.js index 1e6cb4eadc8..d9ef3048634 100644 --- a/modules/betweenBidAdapter.js +++ b/modules/betweenBidAdapter.js @@ -4,6 +4,7 @@ import { getRefererInfo } from '../src/refererDetection.js'; const BIDDER_CODE = 'between'; const ENDPOINT = 'https://ads.betweendigital.com/adjson?t=prebid'; +const CODE_TYPES = ['inpage', 'preroll', 'midroll', 'postroll']; export const spec = { code: BIDDER_CODE, @@ -52,6 +53,7 @@ export const spec = { params.mind = video.mind; params.jst = 'pvc'; params.pos = 'atf'; + params.codeType = CODE_TYPES.includes(video.codeType) ? video.codeType : 'inpage'; } if (i.params.itu !== undefined) { diff --git a/test/spec/modules/betweenBidAdapter_spec.js b/test/spec/modules/betweenBidAdapter_spec.js index 3b46ed8cbf3..11b4a7940af 100644 --- a/test/spec/modules/betweenBidAdapter_spec.js +++ b/test/spec/modules/betweenBidAdapter_spec.js @@ -35,6 +35,7 @@ describe('betweenBidAdapterTests', function () { playerSize: [970, 250], maxd: 123, mind: 234, + codeType: 'unknown code type' } }, }]; @@ -46,6 +47,7 @@ describe('betweenBidAdapterTests', function () { expect(req_data.mind).to.equal(234); expect(req_data.jst).to.equal('pvc'); expect(req_data.pos).to.equal('atf'); + expect(req_data.codeType).to.equal('inpage'); }); it('validate itu param', function() { From f1a3516f108373689463243860aa9b367b177bbe Mon Sep 17 00:00:00 2001 From: "OEM Configuration (temporary user)" Date: Mon, 18 Oct 2021 18:18:05 +0300 Subject: [PATCH 3/4] BetweenBidAdapter: jst fix --- modules/betweenBidAdapter.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/betweenBidAdapter.js b/modules/betweenBidAdapter.js index d9ef3048634..09c8678d1ff 100644 --- a/modules/betweenBidAdapter.js +++ b/modules/betweenBidAdapter.js @@ -3,7 +3,7 @@ import { getAdUnitSizes, parseSizesInput } from '../src/utils.js'; import { getRefererInfo } from '../src/refererDetection.js'; const BIDDER_CODE = 'between'; -const ENDPOINT = 'https://ads.betweendigital.com/adjson?t=prebid'; +let ENDPOINT = 'https://ads.betweendigital.com/adjson?t=prebid'; const CODE_TYPES = ['inpage', 'preroll', 'midroll', 'postroll']; export const spec = { @@ -51,8 +51,8 @@ export const spec = { params.mediaType = 2; params.maxd = video.maxd; params.mind = video.mind; - params.jst = 'pvc'; params.pos = 'atf'; + ENDPOINT += '&jst=pvc'; params.codeType = CODE_TYPES.includes(video.codeType) ? video.codeType : 'inpage'; } From 2890c3d8a10824ac4fb3bfcba096429a164c4398 Mon Sep 17 00:00:00 2001 From: "OEM Configuration (temporary user)" Date: Mon, 18 Oct 2021 19:06:40 +0300 Subject: [PATCH 4/4] BetweenBitAdapter: update test --- test/spec/modules/betweenBidAdapter_spec.js | 1 - 1 file changed, 1 deletion(-) diff --git a/test/spec/modules/betweenBidAdapter_spec.js b/test/spec/modules/betweenBidAdapter_spec.js index 11b4a7940af..65c200748e4 100644 --- a/test/spec/modules/betweenBidAdapter_spec.js +++ b/test/spec/modules/betweenBidAdapter_spec.js @@ -45,7 +45,6 @@ describe('betweenBidAdapterTests', function () { expect(req_data.mediaType).to.equal(2); expect(req_data.maxd).to.equal(123); expect(req_data.mind).to.equal(234); - expect(req_data.jst).to.equal('pvc'); expect(req_data.pos).to.equal('atf'); expect(req_data.codeType).to.equal('inpage'); });