From 90fbcb4bc0fb6f65e8174cbd14f10d3a64e2de5d Mon Sep 17 00:00:00 2001 From: Mikael Lundin Date: Tue, 6 Apr 2021 16:19:36 +0200 Subject: [PATCH 1/3] Added automatic tzo and targetId to adserver request. --- modules/adnuntiusBidAdapter.js | 11 ++++++----- test/spec/modules/adnuntiusBidAdapter_spec.js | 9 +++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/modules/adnuntiusBidAdapter.js b/modules/adnuntiusBidAdapter.js index 16594b3453c..f250f6e334d 100644 --- a/modules/adnuntiusBidAdapter.js +++ b/modules/adnuntiusBidAdapter.js @@ -1,7 +1,7 @@ import { registerBidder } from '../src/adapters/bidderFactory.js'; const BIDDER_CODE = 'adnuntius'; -const ENDPOINT_URL = 'https://delivery.adnuntius.com/i?tzo=-60&format=json'; +const ENDPOINT_URL = 'https://delivery.adnuntius.com/i?tzo='; export const spec = { code: BIDDER_CODE, @@ -14,6 +14,7 @@ export const spec = { const networks = {}; const bidRequests = {}; const requests = []; + const tzo = new Date().getTimezoneOffset(); for (var i = 0; i < validBidRequests.length; i++) { const bid = validBidRequests[i] @@ -23,7 +24,7 @@ export const spec = { networks[network] = networks[network] || {}; networks[network].adUnits = networks[network].adUnits || []; - networks[network].adUnits.push({ ...bid.params.targeting, auId: bid.params.auId }); + networks[network].adUnits.push({ ...bid.params.targeting, auId: bid.params.auId, targetId: bid.bidId }); } const networkKeys = Object.keys(networks) @@ -31,7 +32,7 @@ export const spec = { const network = networkKeys[j]; requests.push({ method: 'POST', - url: ENDPOINT_URL, + url: ENDPOINT_URL + tzo + '&format=json', data: JSON.stringify(networks[network]), bid: bidRequests[network] }); @@ -50,11 +51,11 @@ export const spec = { const bid = adUnit.ads[0]; bidResponses.push({ requestId: bidRequest.bid[k].bidId, - cpm: (bid.cpm) ? bid.cpm.amount : 0, + cpm: (bid.bid) ? bid.bid.amount : 0, width: Number(bid.creativeWidth), height: Number(bid.creativeHeight), creativeId: bid.creativeId, - currency: (bid.cpm) ? bid.cpm.currency : 'EUR', + currency: (bid.bid) ? bid.bid.currency : 'EUR', netRevenue: false, ttl: 360, ad: adUnit.html diff --git a/test/spec/modules/adnuntiusBidAdapter_spec.js b/test/spec/modules/adnuntiusBidAdapter_spec.js index 54ff038c083..f4b0306451c 100644 --- a/test/spec/modules/adnuntiusBidAdapter_spec.js +++ b/test/spec/modules/adnuntiusBidAdapter_spec.js @@ -4,7 +4,8 @@ import { spec } from 'modules/adnuntiusBidAdapter.js'; import { newBidder } from 'src/adapters/bidderFactory.js'; describe('adnuntiusBidAdapter', function () { - const ENDPOINT_URL = 'https://delivery.adnuntius.com/i?tzo=-60&format=json'; + const tzo = new Date().getTimezoneOffset(); + const ENDPOINT_URL = `https://delivery.adnuntius.com/i?tzo=${tzo}&format=json`; const adapter = newBidder(spec); const bidRequests = [ { @@ -47,8 +48,8 @@ describe('adnuntiusBidAdapter', function () { 'destination': 'http://google.com' }, 'cpm': { 'amount': 5.0, 'currency': 'NOK' }, - 'bid': { 'amount': 0.005, 'currency': 'NOK' }, - 'cost': { 'amount': 0.005, 'currency': 'NOK' }, + 'bid': { 'amount': 5.0, 'currency': 'NOK' }, + 'cost': { 'amount': 5.0, 'currency': 'NOK' }, 'impressionTrackingUrls': [], 'impressionTrackingUrlsEsc': [], 'adId': 'adn-id-1347343135', @@ -96,7 +97,7 @@ describe('adnuntiusBidAdapter', function () { expect(request[0]).to.have.property('url'); expect(request[0].url).to.equal(ENDPOINT_URL); expect(request[0]).to.have.property('data'); - expect(request[0].data).to.equal('{\"adUnits\":[{\"auId\":\"8b6bc\"}]}'); + expect(request[0].data).to.equal('{\"adUnits\":[{\"auId\":\"8b6bc\",\"targetId\":\"123\"}]}'); }); }); From b5c48381d78b4947baae068d0241d56faeaa518c Mon Sep 17 00:00:00 2001 From: Mikael Lundin Date: Fri, 9 Apr 2021 13:11:21 +0200 Subject: [PATCH 2/3] Fixing issues with bid price being too low. --- modules/adnuntiusBidAdapter.js | 3 ++- test/spec/modules/adnuntiusBidAdapter_spec.js | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/adnuntiusBidAdapter.js b/modules/adnuntiusBidAdapter.js index f250f6e334d..362442015f6 100644 --- a/modules/adnuntiusBidAdapter.js +++ b/modules/adnuntiusBidAdapter.js @@ -49,9 +49,10 @@ export const spec = { const adUnit = serverBody.adUnits[k] if (adUnit.matchedAdCount > 0) { const bid = adUnit.ads[0]; + const effectiveCpm = (bid.cpc && bid.cpm) ? bid.bid.amount + bid.cpm.amount : (bid.cpc) ? bid.bid.amount : (bid.cpm) ? bid.cpm.amount : 0; bidResponses.push({ requestId: bidRequest.bid[k].bidId, - cpm: (bid.bid) ? bid.bid.amount : 0, + cpm: effectiveCpm, width: Number(bid.creativeWidth), height: Number(bid.creativeHeight), creativeId: bid.creativeId, diff --git a/test/spec/modules/adnuntiusBidAdapter_spec.js b/test/spec/modules/adnuntiusBidAdapter_spec.js index f4b0306451c..c2aa09fafaa 100644 --- a/test/spec/modules/adnuntiusBidAdapter_spec.js +++ b/test/spec/modules/adnuntiusBidAdapter_spec.js @@ -48,8 +48,8 @@ describe('adnuntiusBidAdapter', function () { 'destination': 'http://google.com' }, 'cpm': { 'amount': 5.0, 'currency': 'NOK' }, - 'bid': { 'amount': 5.0, 'currency': 'NOK' }, - 'cost': { 'amount': 5.0, 'currency': 'NOK' }, + 'bid': { 'amount': 0.005, 'currency': 'NOK' }, + 'cost': { 'amount': 0.005, 'currency': 'NOK' }, 'impressionTrackingUrls': [], 'impressionTrackingUrlsEsc': [], 'adId': 'adn-id-1347343135', @@ -106,12 +106,14 @@ describe('adnuntiusBidAdapter', function () { const request = spec.buildRequests(bidRequests); const interpretedResponse = spec.interpretResponse(serverResponse, request[0]); const ad = serverResponse.body.adUnits[0].ads[0] + const cpm = (ad.cpc && ad.cpm) ? ad.bid.amount + ad.cpm.amount : (ad.cpm) ? ad.cpm.amount : 0; + expect(interpretedResponse).to.have.lengthOf(1); expect(interpretedResponse[0].cpm).to.equal(ad.cpm.amount); expect(interpretedResponse[0].width).to.equal(Number(ad.creativeWidth)); expect(interpretedResponse[0].height).to.equal(Number(ad.creativeHeight)); expect(interpretedResponse[0].creativeId).to.equal(ad.creativeId); - expect(interpretedResponse[0].currency).to.equal(ad.cpm.currency); + expect(interpretedResponse[0].currency).to.equal(ad.bid.currency); expect(interpretedResponse[0].netRevenue).to.equal(false); expect(interpretedResponse[0].ad).to.equal(serverResponse.body.adUnits[0].html); expect(interpretedResponse[0].ttl).to.equal(360); From e077ee40c52e49134ee705d5fe2303286f31f3d0 Mon Sep 17 00:00:00 2001 From: Mikael Lundin Date: Fri, 9 Apr 2021 13:11:21 +0200 Subject: [PATCH 3/3] Fixing issues with bid price being too low. --- modules/adnuntiusBidAdapter.js | 3 ++- test/spec/modules/adnuntiusBidAdapter_spec.js | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/adnuntiusBidAdapter.js b/modules/adnuntiusBidAdapter.js index f250f6e334d..362442015f6 100644 --- a/modules/adnuntiusBidAdapter.js +++ b/modules/adnuntiusBidAdapter.js @@ -49,9 +49,10 @@ export const spec = { const adUnit = serverBody.adUnits[k] if (adUnit.matchedAdCount > 0) { const bid = adUnit.ads[0]; + const effectiveCpm = (bid.cpc && bid.cpm) ? bid.bid.amount + bid.cpm.amount : (bid.cpc) ? bid.bid.amount : (bid.cpm) ? bid.cpm.amount : 0; bidResponses.push({ requestId: bidRequest.bid[k].bidId, - cpm: (bid.bid) ? bid.bid.amount : 0, + cpm: effectiveCpm, width: Number(bid.creativeWidth), height: Number(bid.creativeHeight), creativeId: bid.creativeId, diff --git a/test/spec/modules/adnuntiusBidAdapter_spec.js b/test/spec/modules/adnuntiusBidAdapter_spec.js index f4b0306451c..c2aa09fafaa 100644 --- a/test/spec/modules/adnuntiusBidAdapter_spec.js +++ b/test/spec/modules/adnuntiusBidAdapter_spec.js @@ -48,8 +48,8 @@ describe('adnuntiusBidAdapter', function () { 'destination': 'http://google.com' }, 'cpm': { 'amount': 5.0, 'currency': 'NOK' }, - 'bid': { 'amount': 5.0, 'currency': 'NOK' }, - 'cost': { 'amount': 5.0, 'currency': 'NOK' }, + 'bid': { 'amount': 0.005, 'currency': 'NOK' }, + 'cost': { 'amount': 0.005, 'currency': 'NOK' }, 'impressionTrackingUrls': [], 'impressionTrackingUrlsEsc': [], 'adId': 'adn-id-1347343135', @@ -106,12 +106,14 @@ describe('adnuntiusBidAdapter', function () { const request = spec.buildRequests(bidRequests); const interpretedResponse = spec.interpretResponse(serverResponse, request[0]); const ad = serverResponse.body.adUnits[0].ads[0] + const cpm = (ad.cpc && ad.cpm) ? ad.bid.amount + ad.cpm.amount : (ad.cpm) ? ad.cpm.amount : 0; + expect(interpretedResponse).to.have.lengthOf(1); expect(interpretedResponse[0].cpm).to.equal(ad.cpm.amount); expect(interpretedResponse[0].width).to.equal(Number(ad.creativeWidth)); expect(interpretedResponse[0].height).to.equal(Number(ad.creativeHeight)); expect(interpretedResponse[0].creativeId).to.equal(ad.creativeId); - expect(interpretedResponse[0].currency).to.equal(ad.cpm.currency); + expect(interpretedResponse[0].currency).to.equal(ad.bid.currency); expect(interpretedResponse[0].netRevenue).to.equal(false); expect(interpretedResponse[0].ad).to.equal(serverResponse.body.adUnits[0].html); expect(interpretedResponse[0].ttl).to.equal(360);