Skip to content
This repository was archived by the owner on Feb 13, 2021. It is now read-only.

Commit

Permalink
Merge pull request prebid#88 in AOLP_ADS_JS/prebid.js from release/1.…
Browse files Browse the repository at this point in the history
…18.0 to aolgithub-master

* commit '2881f03dd76bfcf484fbfeaf0f9e1000b383d20d':
  Added adapters in aolPartnersIds.json.
  Added changelog entry.
  Prebid 0.20.0 Release
  Remove test that intermittently fails unit tests (prebid#1020)
  Create bids for requests without mutating ad units (prebid#1019)
  Use optimize js to improve parse time (https://github.com/nolanlawson/optimize-js) (prebid#1018)
  Fixes for Centro adapter (prebid#992)
  adbund adapter (prebid#932)
  Fix bug with supporting non-cpm dealId bids. (prebid#1006)
  Added referrer parameter (prebid#966)
  Support Video for GetIntent adapter (prebid#987)
  Currency support for SmartAdServer adapter (prebid#979)
  Deal support for SmartAdServer adapter (prebid#978)
  Skip test causing build failures (prebid#997)
  E2etest concurrency (prebid#982)
  Add ThoughtLeadr adapter (prebid#894)
  Increment Pre Version
  • Loading branch information
vzhukovsky committed May 15, 2017
2 parents 921c22b + 2881f03 commit 7c00979
Show file tree
Hide file tree
Showing 29 changed files with 677 additions and 161 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
AOL Prebid 1.18.0
----------------
Updated to Prebid 0.20.0


AOL Prebid 1.17.0
----------------
Added functionality for rendering pixels once.
Expand Down
9 changes: 8 additions & 1 deletion adapters.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[
"aardvark",
"adblade",
"adbund",
"adbutler",
"adequant",
"adform",
Expand All @@ -14,11 +15,11 @@
"conversant",
"districtmDMX",
"fidelity",
"getintent",
"gumgum",
"hiromedia",
"indexExchange",
"kruxlink",
"getintent",
"komoona",
"lifestreet",
"mantis",
Expand All @@ -34,6 +35,7 @@
"sonobi",
"sovrn",
"springserve",
"thoughtleadr",
"stickyadstv",
"triplelift",
"twenga",
Expand Down Expand Up @@ -101,6 +103,11 @@
"adkernel": {
"alias": "headbidding"
}
},
{
"getintent": {
"supportedMediaTypes" : ["video"]
}
}

]
4 changes: 2 additions & 2 deletions gulpHelpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@ module.exports = {

createEnd2EndTestReport : function(targetDestinationDir) {
var browsers = require('./browsers.json');
var env = ['default'];
var env = [];
var input = 'bs';
for(var key in browsers) {
if(key.substring(0, input.length) === input) {
if(key.substring(0, input.length) === input && browsers[key].browser !== 'iphone') {
env.push(key);
}
}
Expand Down
43 changes: 23 additions & 20 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ var header = require('gulp-header');
var zip = require('gulp-zip');
var replace = require('gulp-replace');
var shell = require('gulp-shell');
var optimizejs = require('gulp-optimize-js');

var CI_MODE = process.env.NODE_ENV === 'ci';
var prebid = require('./package.json');
Expand Down Expand Up @@ -90,6 +91,7 @@ gulp.task('webpack', function () {
}
}))
.pipe(header(banner, { prebid: prebid }))
.pipe(optimizejs())
// Remove window=window that was used to go around Uglify bug
.pipe(replace(/,?(\/\*!ADAPTER BEGIN \w+\*\/)\s*window\s*=\s*window/g, '$1'))
.pipe(replace(/,?(\/\*!ADAPTER END \w+\*\/)\s*window\s*=\s*window/g, '$1'))
Expand Down Expand Up @@ -239,45 +241,46 @@ gulp.task('docs', ['clean-docs'], function () {
});

gulp.task('e2etest', function() {
var cmd = '--env default';
var cmdQueue = [];
if(argv.browserstack) {
var browsers = require('./browsers.json');
var env = [];
var input = 'bs';
for(var key in browsers) {
if(key.substring(0, input.length) === input) {
env.push(key);
}
delete browsers['bs_ie_9_windows_7'];

var cmdStr = ' --config nightwatch.conf.js';
if (argv.group) {
cmdStr = cmdStr + ' --group ' + argv.group;
}
cmd = '--env default,' + env.join(',');
}
cmdStr = cmdStr + ' --reporter ./test/spec/e2e/custom-reporter/pbjs-html-reporter.js';

if(argv.browserstack) {
cmd = cmd + ' --config nightwatch.conf.js';
} else {
cmd = cmd + ' --config nightwatch.json';
}
var startWith = 'bs';

if (argv.group) {
cmd = cmd + ' --group ' + argv.group;
Object.keys(browsers).filter(function(v){
return v.substring(0, startWith.length) === startWith && browsers[v].browser !== 'iphone';
}).map(function(v,i,arr) {
var newArr = (i%2 === 0) ? arr.slice(i,i+2) : null;
if(newArr) {
var cmd = 'nightwatch --env ' + newArr.join(',') + cmdStr;
cmdQueue.push(cmd);
}
});
}

cmd = cmd + ' --reporter ./test/spec/e2e/custom-reporter/pbjs-html-reporter.js';
return gulp.src('')
.pipe(shell('nightwatch ' + cmd));
.pipe(shell(cmdQueue.join(';')));
});

gulp.task('e2etest-report', function() {
var reportPort = 9010;
var targetDestinationDir = './e2etest-report';
helpers.createEnd2EndTestReport(targetDestinationDir);
connect.server({
port: port,
port: reportPort,
root: './',
livereload: true
});

setTimeout(function() {
opens('http://localhost:' + port + '/' + targetDestinationDir.slice(2) + '/results.html');
opens('http://localhost:' + reportPort + '/' + targetDestinationDir.slice(2) + '/results.html');
}, 5000);

});
27 changes: 17 additions & 10 deletions integrationExamples/gpt/pbjs_example_gpt.html
Original file line number Diff line number Diff line change
Expand Up @@ -201,14 +201,14 @@
{
bidder: 'memeglobal',
params: {
tagid: 007, // REQUIRED int. To get one, contact http://www.memeglobal.com
tagid: 007, // REQUIRED int. To get one, contact http://www.memeglobal.com
}
},
{
bidder: 'adblade',
params: {
partnerId: 42980,
bidfloor: 0.01 // OPTIONAL float bid floor in $ CPM
bidfloor: 0.01 // OPTIONAL float bid floor in $ CPM
}
},
{
Expand All @@ -231,6 +231,13 @@
cur: 'EUR'
}
},
{
bidder: 'adbund',
params: {
sid: '110238', // REQUIRED int. To get one, sign up http://www.adbund.com
bidfloor: 0.036 // OPTIONAL float bid floor in $ CPM
}
},
{
bidder: 'smartyads',
params: {
Expand Down Expand Up @@ -326,22 +333,22 @@
}
},
{
bidder: 'wideorbit',
bidder: 'memeglobal',
params: {
pbId: 123, // REQUIRED Publisher Id,
pId: 123456 // REQUIRED Placement Id
tagid: 007, // REQUIRED int. To get one, contact http://www.memeglobal.com
}
},
{
bidder: 'memeglobal',
bidder: 'gumgum',
params: {
tagid: 007, // REQUIRED int. To get one, contact http://www.memeglobal.com
inScreen: 'ggumtest' // REQUIRED str Tracking Id
}
},
{
bidder: 'gumgum',
bidder: 'wideorbit',
params: {
inScreen: 'ggumtest' // REQUIRED str Tracking Id
pbId: 123, // REQUIRED Publisher Id,
pId: 123456 // REQUIRED Placement Id
}
}
]
Expand All @@ -352,7 +359,7 @@
$$PREBID_GLOBAL$$.addAdUnits(adUnits);

//register a callback handler
$$PREBID_GLOBAL$$.addCallback('adUnitBidsBack', function (adUnitCode) {
$$PREBID_GLOBAL$$.addCallback('adUnitBidsBack', function (adUnitCode) {
console.debug('ad unit bids back for:', adUnitCode);
});

Expand Down
28 changes: 23 additions & 5 deletions nightwatch.conf.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,35 @@
module.exports = (function(settings) {
var browsers = require('./browsers.json');
delete browsers['bs_ie_9_windows_7'];

for(var browser in browsers) {
if(browsers[browser].browser === 'iphone') continue;

var desiredCapabilities = {
"browserName": browsers[browser].browser,
"version": browsers[browser].browser_version,
"platform": browsers[browser].os,
"platform": browsers[browser].os,
"os": browsers[browser].os,
"os_version": browsers[browser].os_version,
"browser": browsers[browser].browser,
"browser_version": browsers[browser].browser_version,
"os_version": browsers[browser].os_version,
"browser": browsers[browser].browser,
"browser_version": browsers[browser].browser_version,
};

settings.test_settings[browser] = {}
settings.test_settings[browser] = {
"silent": true,
"exclude":["custom-assertions","custom-commands","common","custom-reporter"],
"screenshots" : {
"enabled" : false,
"path" : ""
},
"javascriptEnabled": true,
"acceptSslCerts": true,
"browserstack.local": true,
"browserstack.debug": true,
"browserstack.selenium_version" : "2.53.0",
"browserstack.user": "${BROWSERSTACK_USERNAME}",
"browserstack.key": "${BROWSERSTACK_KEY}"
};
settings.test_settings[browser]['desiredCapabilities'] = desiredCapabilities;
}
return settings;
Expand Down
7 changes: 4 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "prebid.js",
"version": "0.19.0",
"version": "0.20.0",
"description": "Header Bidding Management Library",
"main": "src/prebid.js",
"scripts": {
Expand All @@ -27,9 +27,9 @@
"devDependencies": {
"babel-core": "^6.5.2",
"babel-loader": "^6.2.3",
"babel-plugin-transform-object-assign": "^6.8.0",
"babel-plugin-transform-es3-property-literals": "^6.8.0",
"babel-plugin-transform-es3-member-expression-literals": "^6.8.0",
"babel-plugin-transform-es3-property-literals": "^6.8.0",
"babel-plugin-transform-object-assign": "^6.8.0",
"babel-preset-es2015": "^6.5.0",
"block-loader": "^2.1.0",
"chai": "^3.3.0",
Expand All @@ -50,6 +50,7 @@
"gulp-jshint": "^1.8.4",
"gulp-karma": "0.0.4",
"gulp-mocha": "^2.2.0",
"gulp-optimize-js": "^1.1.0",
"gulp-rename": "^1.2.0",
"gulp-replace": "^0.4.0",
"gulp-shell": "^0.5.2",
Expand Down
2 changes: 1 addition & 1 deletion src/adaptermanager.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ function getBids({bidderCode, requestId, bidderRequestId, adUnits}) {
}
sizes = sizeMapping;
}
return Object.assign(bid, {
return Object.assign({}, bid, {
placementCode: adUnit.code,
mediaType: adUnit.mediaType,
sizes: sizes,
Expand Down
66 changes: 66 additions & 0 deletions src/adapters/adbund.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
var CONSTANTS = require('../constants.json');
var utils = require('../utils.js');
var bidfactory = require('../bidfactory.js');
var bidmanager = require('../bidmanager.js');
var adloader = require('../adloader');

var adBundAdapter = function adBundAdapter() {
var timezone = (new Date()).getTimezoneOffset();
var bidAPIs = [
'http://us-east-engine.adbund.xyz/prebid/ad/get',
'http://us-west-engine.adbund.xyz/prebid/ad/get'
];
//Based on the time zone to select the interface to the server
var bidAPI = bidAPIs[timezone < 0 ? 0 : 1];

function _stringify(param) {
var result = [];
var key;
for (key in param) {
if (param.hasOwnProperty(key)) {
result.push(key + '=' + encodeURIComponent(param[key]));
}
}
return result.join('&');
}

function _createCallback(bid) {
return function (data) {
var response;
if (data && data.cpm) {
response = bidfactory.createBid(CONSTANTS.STATUS.GOOD);
response.bidderCode = 'adbund';
Object.assign(response, data);
} else {
response = bidfactory.createBid(CONSTANTS.STATUS.NO_BID);
response.bidderCode = 'adbund';
}
bidmanager.addBidResponse(bid.placementCode, response);
};
}

function _requestBids(bid) {
var info = {
referrer: utils.getTopWindowUrl(),
domain: utils.getTopWindowLocation().hostname,
ua: window.navigator.userAgent
};
var param = Object.assign({}, bid.params, info);
param.sizes = JSON.stringify(param.sizes || bid.sizes);
param.callback = '$$PREBID_GLOBAL$$.adbundResponse';
$$PREBID_GLOBAL$$.adbundResponse = _createCallback(bid);
adloader.loadScript(bidAPI + '?' + _stringify(param));
}

function _callBids(params) {
(params.bids || []).forEach(function (bid) {
_requestBids(bid);
});
}

return {
callBids: _callBids
};
};

module.exports = adBundAdapter;
4 changes: 3 additions & 1 deletion src/adapters/analytics/aolPartnersIds.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,5 +56,7 @@
"lifestreet": 55,
"vertamedia": 56,
"stickyadstv": 57,
"audienceNetwork": 58
"audienceNetwork": 58,
"thoughtleadr": 59,
"adbund": 60
}
Loading

0 comments on commit 7c00979

Please sign in to comment.