From 1fc41ecf22819d7ec68f39a8c8bdf91dd5a655dc Mon Sep 17 00:00:00 2001 From: Agon Qurdina Date: Thu, 7 Dec 2017 18:59:21 +0100 Subject: [PATCH 01/10] Added Gjirafa adapter --- modules/gjirafaBidAdapter.js | 91 ++++++++++++++++++++++++++++++++++++ modules/gjirafaBidAdapter.md | 36 ++++++++++++++ 2 files changed, 127 insertions(+) create mode 100644 modules/gjirafaBidAdapter.js create mode 100644 modules/gjirafaBidAdapter.md diff --git a/modules/gjirafaBidAdapter.js b/modules/gjirafaBidAdapter.js new file mode 100644 index 00000000000..ebd2a3cbeff --- /dev/null +++ b/modules/gjirafaBidAdapter.js @@ -0,0 +1,91 @@ +import * as utils from 'src/utils'; +import {registerBidder} from 'src/adapters/bidderFactory'; + +const BIDDER_CODE = 'gjirafa'; +const ENDPOINT_URL = 'https://gjc.gjirafa.com/Home/GetBid'; +const DIMENSION_SEPARATOR = 'x'; +const SIZE_SEPARATOR = ';'; + +export const spec = { + code: BIDDER_CODE, + /** + * Determines whether or not the given bid request is valid. + * + * @param {BidRequest} bid The bid params to validate. + * @return boolean True if this is a valid bid, and false otherwise. + */ + isBidRequestValid: function(bid) { + return 1; // bid.params && !!bid.params.gjid; + }, + /** + * Make a server request from the list of BidRequests. + * + * @param {validBidRequests[]} - an array of bids + * @return ServerRequest Info describing the request to the server. + */ + buildRequests: function(validBidRequests, bidderRequest) { + return validBidRequests.map(bidRequest => { + let gjid = Math.floor(Math.random() * 99999999); + let sizes = generateSizeParam(bidRequest.sizes); + let configId = bidRequest.params.placementId || ''; + let minCPM = bidRequest.params.minCPM || 0.0; + let minCPC = bidRequest.params.minCPC || 0.0; + let allowExplicit = bidRequest.params.explicit || 0; + const body = { + gjid: gjid, + sizes: sizes, + configId: configId, + minCPM: minCPM, + minCPC: minCPC, + allowExplicit: allowExplicit, + referrer: utils.getTopWindowUrl(), + requestid: bidRequest.bidderRequestId, + bidid: bidRequest.bidId + }; + if (document.referrer) { + body.referrer = document.referrer; + } + return { + method: 'GET', + url: ENDPOINT_URL, + data: body + }; + }); + }, + /** + * Unpack the response from the server into a list of bids. + * + * @param {ServerResponse} serverResponse A successful response from the server. + * @return {Bid[]} An array of bids which were nested inside the server. + */ + interpretResponse: function(serverResponse, bidRequest) { + const serverBody = serverResponse.body; + const bidResponses = []; + const bidResponse = { + requestId: bidRequest.data.bidid, + cpm: serverBody.CPM, + width: serverBody.Width, + height: serverBody.Height, + creativeId: serverBody.CreativeId, + currency: serverBody.Currency, + netRevenue: serverBody.NetRevenue, + ttl: serverBody.TTL, + referrer: serverBody.Referrer, + ad: serverBody.Ad + }; + bidResponses.push(bidResponse); + return bidResponses; + } +} + +/** +* Generate size param for bid request using sizes array +* +* @param {Array} sizes Possible sizes for the ad unit. +* @return {string} Processed sizes param to be used for the bid request. +*/ +function generateSizeParam(sizes) { + return sizes.map(size => size.join(DIMENSION_SEPARATOR)).join(SIZE_SEPARATOR); +} + +registerBidder(spec); diff --git a/modules/gjirafaBidAdapter.md b/modules/gjirafaBidAdapter.md new file mode 100644 index 00000000000..1ec8222d8de --- /dev/null +++ b/modules/gjirafaBidAdapter.md @@ -0,0 +1,36 @@ +# Overview +Module Name: Gjirafa Bidder Adapter Module +Type: Bidder Adapter +Maintainer: agonq@gjirafa.com + +# Description +Gjirafa Bidder Adapter for Prebid.js. + +# Test Parameters +var adUnits = [ +{ + code: 'test-div', + sizes: [[728, 90]], // leaderboard + bids: [ + { + bidder: 'gjirafa', + params: { + placementId: '71-3' + } + } + ] +},{ + code: 'test-div', + sizes: [[300, 250]], // mobile rectangle + bids: [ + { + bidder: 'gjirafa', + params: { + minCPM: 0.0001, + minCPC: 0.001, + explicit: true + } + } + ] +} +]; \ No newline at end of file From 8600e293228eb38e3155c98ba0558c56a7499d64 Mon Sep 17 00:00:00 2001 From: Agon Qurdina Date: Fri, 8 Dec 2017 16:13:38 +0100 Subject: [PATCH 02/10] Add gjirafa adapter unit test --- test/spec/modules/gjirafaBidAdapter_spec.js | 159 ++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 test/spec/modules/gjirafaBidAdapter_spec.js diff --git a/test/spec/modules/gjirafaBidAdapter_spec.js b/test/spec/modules/gjirafaBidAdapter_spec.js new file mode 100644 index 00000000000..f96c66a953a --- /dev/null +++ b/test/spec/modules/gjirafaBidAdapter_spec.js @@ -0,0 +1,159 @@ +import { expect } from 'chai'; +import { spec } from 'modules/gjirafaBidAdapter'; + +describe('gjirafaAdapterTest', () => { + describe('bidRequestValidity', () => { + it('bidRequest with placementId, minCPM and minCPC params', () => { + expect(spec.isBidRequestValid({ + bidder: 'gjirafa', + params: { + placementId: 'test-div', + minCPM: 0.0001, + minCPC: 0.001 + } + })).to.equal(true); + }); + + it('bidRequest with only placementId param', () => { + expect(spec.isBidRequestValid({ + bidder: 'gjirafa', + params: { + placementId: 'test-div' + } + })).to.equal(true); + }); + + it('bidRequest with minCPM and minCPC params', () => { + expect(spec.isBidRequestValid({ + bidder: 'gjirafa', + params: { + minCPM: 0.0001, + minCPC: 0.001 + } + })).to.equal(true); + }); + + it('bidRequest with no placementId, minCPM or minCPC params', () => { + expect(spec.isBidRequestValid({ + bidder: 'gjirafa', + params: { + } + })).to.equal(false); + }); + }); + + describe('bidRequest', () => { + const bidRequests = [{ + 'bidder': 'gjirafa', + 'params': { + 'placementId': '71-3' + }, + 'adUnitCode': 'hb-leaderboard', + 'transactionId': 'b6b889bb-776c-48fd-bc7b-d11a1cf0425e', + 'sizes': [[728, 90], [980, 200], [980, 150], [970, 90], [970, 250]], + 'bidId': '10bdc36fe0b48c8', + 'bidderRequestId': '70deaff71c281d', + 'auctionId': 'f9012acc-b6b7-4748-9098-97252914f9dc' + }, + { + 'bidder': 'gjirafa', + 'params': { + 'minCPM': 0.0001, + 'minCPC': 0.001, + 'explicit': true + }, + 'adUnitCode': 'hb-inarticle', + 'transactionId': '8757194d-ea7e-4c06-abc0-cfe92bfc5295', + 'sizes': [[300, 250]], + 'bidId': '81a6dcb65e2bd9', + 'bidderRequestId': '70deaff71c281d', + 'auctionId': 'f9012acc-b6b7-4748-9098-97252914f9dc' + }]; + + it('bidRequest HTTP method', () => { + const requests = spec.buildRequests(bidRequests); + requests.forEach(function(requestItem) { + expect(requestItem.method).to.equal('GET'); + }); + }); + + it('bidRequest url', () => { + const endpointUrl = 'https://gjc.gjirafa.com/Home/GetBid'; + const requests = spec.buildRequests(bidRequests); + requests.forEach(function(requestItem) { + expect(requestItem.url).to.match(new RegExp(`${endpointUrl}`)); + }); + }); + + it('bidRequest data', () => { + const requests = spec.buildRequests(bidRequests); + requests.forEach(function(requestItem) { + expect(requestItem.data).to.exists; + }); + }); + + it('bidRequest sizes', () => { + const requests = spec.buildRequests(bidRequests); + expect(requests[0].data.sizes).to.equal('728x90;980x200;980x150;970x90;970x250'); + expect(requests[1].data.sizes).to.equal('300x250'); + }); + }); + + describe('interpretResponse', () => { + const bidRequest = { + 'method': 'GET', + 'url': 'https://gjc.gjirafa.com/Home/GetBid', + 'data': { + 'gjid': 2323007, + 'sizes': '728x90;980x200;980x150;970x90;970x250', + 'configId': '71-3', + 'minCPM': 0, + 'minCPC': 0, + 'allowExplicit': 0, + 'referrer': 'http://localhost:9999/integrationExamples/gpt/hello_world.html?pbjs_debug=true', + 'requestid': '26ee8fe87940da7', + 'bidid': '2962dbedc4768bf' + } + }; + + const bidResponse = { + body: [{ + 'CPM': 1, + 'Width': 728, + 'Height': 90, + 'Referrer': 'https://example.com/', + 'Ad': 'test ad', + 'CreativeId': '123abc', + 'NetRevenue': false, + 'Currency': 'EUR', + 'TTL': 360 + }], + headers: {} + }; + + it('all keys present', () => { + const result = spec.interpretResponse(bidResponse, bidRequest); + + let keys = [ + 'requestId', + 'cpm', + 'width', + 'height', + 'creativeId', + 'currency', + 'netRevenue', + 'ttl', + 'referrer', + 'ad' + ]; + + let resultKeys = Object.keys(result[0]); + console.log(resultKeys); + resultKeys.forEach(function(key) { + console.log(key); + console.log(keys.indexOf(key)); + expect(keys.indexOf(key) !== -1).to.equal(true); + }); + }) + }); +}); From cb848d9b6ecf29682e921f95dd9082f7b5a51a9c Mon Sep 17 00:00:00 2001 From: Agon Qurdina Date: Fri, 8 Dec 2017 16:54:50 +0100 Subject: [PATCH 03/10] adapter update --- .gitignore | 3 +++ modules/gjirafaBidAdapter.js | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 88e849a35ad..f6f542ace5e 100644 --- a/.gitignore +++ b/.gitignore @@ -77,3 +77,6 @@ typings/ # MacOS system files .DS_Store + +modules.json +integrationExamples/gpt/hello_world.html \ No newline at end of file diff --git a/modules/gjirafaBidAdapter.js b/modules/gjirafaBidAdapter.js index ebd2a3cbeff..3fbc7d772fa 100644 --- a/modules/gjirafaBidAdapter.js +++ b/modules/gjirafaBidAdapter.js @@ -15,7 +15,7 @@ export const spec = { * @return boolean True if this is a valid bid, and false otherwise. */ isBidRequestValid: function(bid) { - return 1; // bid.params && !!bid.params.gjid; + return bid.params && (!!bid.params.placementId || (!!bid.params.minCPM && !!bid.params.minCPC)); }, /** * Make a server request from the list of BidRequests. From 65bcfd62fc8a8963c26e14d514b9d57eee444367 Mon Sep 17 00:00:00 2001 From: Agon Qurdina Date: Fri, 8 Dec 2017 16:56:33 +0100 Subject: [PATCH 04/10] New line --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index f6f542ace5e..98ab98bec8d 100644 --- a/.gitignore +++ b/.gitignore @@ -79,4 +79,3 @@ typings/ .DS_Store modules.json -integrationExamples/gpt/hello_world.html \ No newline at end of file From 3d120272a3ee03631fc22091cddf041f662dde66 Mon Sep 17 00:00:00 2001 From: Agon Qurdina Date: Mon, 11 Dec 2017 10:47:39 +0100 Subject: [PATCH 05/10] Requested changes --- integrationExamples/gpt/hello_world.html | 368 +++++++++++++++----- test/spec/modules/gjirafaBidAdapter_spec.js | 3 - 2 files changed, 278 insertions(+), 93 deletions(-) diff --git a/integrationExamples/gpt/hello_world.html b/integrationExamples/gpt/hello_world.html index aa4bf5ea782..d3d4c4b9ee5 100644 --- a/integrationExamples/gpt/hello_world.html +++ b/integrationExamples/gpt/hello_world.html @@ -1,102 +1,290 @@ - - + + + - - - - - - - - - - -

Prebid.js Test

-
Div-1
-
- -
- - \ No newline at end of file + }); + function sendAdserverRequest() { + if (pbjs.adserverRequestSent) return; + pbjs.adserverRequestSent = true; + //googletag.cmd.push(function() { + // pbjs.que.push(function() { + // pbjs.setTargetingForGPTAsync(); + // googletag.pubads().refresh(); + // }); + //}); + } + setTimeout(function() { + sendAdserverRequest(); + }, PREBID_TIMEOUT); + + + + + + + + +

Prebid.js Test

+
Div-1
+ + + + + + + \ No newline at end of file diff --git a/test/spec/modules/gjirafaBidAdapter_spec.js b/test/spec/modules/gjirafaBidAdapter_spec.js index f96c66a953a..17fbdc33591 100644 --- a/test/spec/modules/gjirafaBidAdapter_spec.js +++ b/test/spec/modules/gjirafaBidAdapter_spec.js @@ -148,10 +148,7 @@ describe('gjirafaAdapterTest', () => { ]; let resultKeys = Object.keys(result[0]); - console.log(resultKeys); resultKeys.forEach(function(key) { - console.log(key); - console.log(keys.indexOf(key)); expect(keys.indexOf(key) !== -1).to.equal(true); }); }) From c1a65f04d69122933b21afd54ec0d518f2affb5e Mon Sep 17 00:00:00 2001 From: Agon Qurdina Date: Mon, 18 Dec 2017 16:26:51 +0100 Subject: [PATCH 06/10] change hello_world.html to one bid --- integrationExamples/gpt/hello_world.html | 158 +++++------------------ 1 file changed, 33 insertions(+), 125 deletions(-) diff --git a/integrationExamples/gpt/hello_world.html b/integrationExamples/gpt/hello_world.html index d3d4c4b9ee5..da4a57ec020 100644 --- a/integrationExamples/gpt/hello_world.html +++ b/integrationExamples/gpt/hello_world.html @@ -41,11 +41,11 @@ } var passbacks = { - "hb-rectangle": "", - "hb-leaderboard": "", + // "hb-rectangle": "", + // "hb-leaderboard": "", "hb-inarticle": "", "hb-mob1": "", - "hb-mob2": "" + // "hb-mob2": "" }; var useSSL = 'https:' == document.location.protocol; @@ -62,105 +62,50 @@ code: 'hb-inarticle', sizes: [[300, 250]], bids: [ - { bidder: 'pulsepointLite', params: { cf: '300X250', cp: 561265, ct: 590114 } }, - { bidder: "brealtime", params: { placementId: "11487527" } }, - { bidder: "sovrn", params: { tagid: "488122", sizes: [300, 250] } }, - { bidder: 'districtmDMX', params: { id: 160239 } }, - { bidder: "springserve", params: { placementId: "11601317" } }, - { bidder: 'smartadserver', params: { domain: 'https://prg.smartadserver.com', siteId: '165417', pageId: '829663', formatId:'57916' } }, - { bidder: "criteo", params: { zoneId: "812302" } }, { bidder: "gjirafa", params: { minCPM: 0.0001, minCPC: 0.001, explicit: true } } ] }; - var rectangle1 = { - code: 'hb-rectangle', - sizes: [[300, 250], [300, 600], [300, 400]], - bids: [ - { bidder: 'pulsepointLite', params: { cf: '300X250', cp: 561265, ct: 584223 } }, - { bidder: 'pulsepointLite', params: { cf: '300X600', cp: 561265, ct: 588174 } }, - { bidder: "brealtime", params: { placementId: "11487524" } }, - { bidder: "brealtime", params: { placementId: "11487530" } }, - { bidder: "sovrn", params: { tagid: "486079", sizes: [300, 250] } }, - { bidder: 'districtmDMX', params: { id: 160240 } }, - { bidder: 'districtmDMX', params: { id: 160237 } }, - { bidder: "springserve", params: { placementId: "11601313" } }, - { bidder: "springserve", params: { placementId: "11601323" } }, - { bidder: 'smartadserver', params: { domain: 'https://prg.smartadserver.com', siteId: '165417', pageId: '829663', formatId:'57916' } }, - { bidder: "criteo", params: { zoneId: "812300" } }, - { bidder: "criteo", params: { zoneId: "812306" } }, - { bidder: "gjirafa", params: { minCPM: 0.0001, minCPC: 0.001, explicit: true } } - ] - }; + + + + + + + - var leaderboard = { - code: 'hb-leaderboard', - sizes: [[728, 90], [980, 200], [980, 150], [970, 90], [970, 250]], - bids: [ - { bidder: 'pulsepointLite', params: { cf: '728X90', cp: 561265, ct: 588175 } }, - { bidder: 'pulsepointLite', params: { cf: '970X90', cp: 561265, ct: 588176 } }, - { bidder: "brealtime", params: { placementId: "11487489" } }, - { bidder: "sovrn", params: { tagid: "486653", sizes: [728, 90] } }, - { bidder: 'districtmDMX', params: { id: 160236 } }, - { bidder: "springserve", params: { placementId: "11601311" } }, - { bidder: 'smartadserver', params: { domain: 'https://prg.smartadserver.com', siteId: '165417', pageId: '829663', formatId:'57917' } }, - { bidder: "criteo", params: { zoneId: "812286" } }, - { bidder: "gjirafa", params: { placementId: '71-3' } } - ] - }; + + + + + + + var mob1 = { code: 'hb-mob1', sizes: [[320, 50], [300, 100], [300, 70], [300, 50], [300, 250]], bids: [ - { bidder: "brealtime", params: { placementId: "11487548" } }, - { bidder: 'pulsepointLite', params: { cf: '320X50', cp: 561265, ct: 594703 } }, - { bidder: "sovrn", params: { tagid: "494632", sizes: [300, 250] } }, - { bidder: 'districtmDMX', params: { id: 160242 } }, - { bidder: "springserve", params: { placementId: "11601325" } }, - { bidder: 'smartadserver', params: { domain: 'https://prg.smartadserver.com', siteId: '165417', pageId: '829663', formatId:'57918' } }, - { bidder: "criteo", params: { zoneId: "812318" } }, { bidder: "gjirafa", params: { minCPM: 0.0001, minCPC: 0.001, explicit: true } } ] }; - var mob2 = { - code: 'hb-mob2', - sizes: [[320, 50], [300, 100], [300, 70], [300, 50], [300, 250]], - bids: [ - { bidder: "brealtime", params: { placementId: "11487544" } }, - { bidder: 'pulsepointLite', params: { cf: '300X250', cp: 561265, ct: 589420 } }, - { bidder: 'pulsepointLite', params: { cf: '320X50', cp: 561265, ct: 589422 } }, - { bidder: "sovrn", params: { tagid: "486893", sizes: [300, 250] } }, - { bidder: "sovrn", params: { tagid: "488144", sizes: [320, 50] } }, - { bidder: 'districtmDMX', params: { id: 160241 } }, - { bidder: "springserve", params: { placementId: "11601324" } }, - { bidder: 'smartadserver', params: { domain: 'https://prg.smartadserver.com', siteId: '165417', pageId: '829663', formatId:'57916' } }, - { bidder: "criteo", params: { zoneId: "812303" } }, - { bidder: "gjirafa", params: { minCPM: 0.0001, minCPC: 0.001, explicit: true } } - ] - }; + + + + + + + var adUnits = []; var loadedAdUnits = []; if(!isMobile()){ - adUnits.push(inarticle, rectangle1, leaderboard); + adUnits.push(inarticle);//, rectangle1, leaderboard); } else { - adUnits.push(mob1, mob2); + adUnits.push(mob1);//, mob2); } - //var adUnits = [{ - // code: 'div-gpt-ad-1460505748561-0', - // sizes: [[170, 600], [300,600]], - // // Replace this object to test a new Adapter! - // bids: [{ - // bidder: 'gjirafa', - // params: { - // // placementId: '10433394' - // } - // }] - //}]; - var pbjs = pbjs || {}; pbjs.que = pbjs.que || []; pbjs.que.push(function() { @@ -202,11 +147,6 @@ - -

Prebid.js Test

Div-1
+ - - + + + + - + + \ No newline at end of file From 40f792cd9401f8943c3dc1b868cd8a1f9052f664 Mon Sep 17 00:00:00 2001 From: Agon Qurdina Date: Mon, 18 Dec 2017 16:34:49 +0100 Subject: [PATCH 07/10] change hello_world.html to one bid --- integrationExamples/gpt/hello_world.html | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/integrationExamples/gpt/hello_world.html b/integrationExamples/gpt/hello_world.html index da4a57ec020..34bf88b0106 100644 --- a/integrationExamples/gpt/hello_world.html +++ b/integrationExamples/gpt/hello_world.html @@ -165,19 +165,6 @@ sendAdserverRequest(); }, PREBID_TIMEOUT); - - From 8efef0f3babd4b611d7baca396eab55bd3361b0e Mon Sep 17 00:00:00 2001 From: Agon Qurdina Date: Tue, 19 Dec 2017 14:58:32 +0100 Subject: [PATCH 08/10] Dropping changes in gitignore and hello_world example --- .gitignore | 2 - integrationExamples/gpt/hello_world.html | 258 ++++++++--------------- 2 files changed, 84 insertions(+), 176 deletions(-) diff --git a/.gitignore b/.gitignore index 98ab98bec8d..88e849a35ad 100644 --- a/.gitignore +++ b/.gitignore @@ -77,5 +77,3 @@ typings/ # MacOS system files .DS_Store - -modules.json diff --git a/integrationExamples/gpt/hello_world.html b/integrationExamples/gpt/hello_world.html index 34bf88b0106..ba2ca1216e1 100644 --- a/integrationExamples/gpt/hello_world.html +++ b/integrationExamples/gpt/hello_world.html @@ -8,178 +8,88 @@ --> - - - - - + + + - - - -

Prebid.js Test

-
Div-1
- - - - - - - - - - - \ No newline at end of file + + pbjs.que.push(function() { + pbjs.addAdUnits(adUnits); + pbjs.requestBids({ + bidsBackHandler: sendAdserverRequest + }); + }); + + function sendAdserverRequest() { + if (pbjs.adserverRequestSent) return; + pbjs.adserverRequestSent = true; + googletag.cmd.push(function() { + pbjs.que.push(function() { + pbjs.setTargetingForGPTAsync(); + googletag.pubads().refresh(); + }); + }); + } + + setTimeout(function() { + sendAdserverRequest(); + }, PREBID_TIMEOUT); + + + + + + + + + +

Prebid.js Test

+
Div-1
+
+ +
+ + \ No newline at end of file From ae713a4979fb7c5fc8ae2e03130180b1bfc33bcf Mon Sep 17 00:00:00 2001 From: Agon Qurdina Date: Tue, 19 Dec 2017 21:44:09 +0100 Subject: [PATCH 09/10] hello_world changes --- integrationExamples/gpt/hello_world.html | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/integrationExamples/gpt/hello_world.html b/integrationExamples/gpt/hello_world.html index ba2ca1216e1..0a8a2cb1082 100644 --- a/integrationExamples/gpt/hello_world.html +++ b/integrationExamples/gpt/hello_world.html @@ -1,10 +1,14 @@ @@ -17,10 +21,14 @@ sizes: [[300, 250], [300,600]], // Replace this object to test a new Adapter! - bids: [{ - bidder: "gjirafa", params: { minCPM: 0.0001, minCPC: 0.001, explicit: true } - }] - + bids: [{ + bidder: "gjirafa", + params: { + minCPM: 0.0001, + minCPC: 0.001, + explicit: true + } + }] }]; var pbjs = pbjs || {}; From 32eeed819aeb960b7bb39717fd8b8a13165f0f61 Mon Sep 17 00:00:00 2001 From: Agon Qurdina Date: Wed, 20 Dec 2017 10:08:12 +0100 Subject: [PATCH 10/10] Drop hello_world and gitignore --- integrationExamples/gpt/hello_world.html | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/integrationExamples/gpt/hello_world.html b/integrationExamples/gpt/hello_world.html index 0a8a2cb1082..aa4bf5ea782 100644 --- a/integrationExamples/gpt/hello_world.html +++ b/integrationExamples/gpt/hello_world.html @@ -2,13 +2,13 @@ This page calls a single bidder for a single ad slot. It can be considered a "hello world" example for using Prebid with the Google Publisher Tag. - + It also makes a good test page for new adapter PR submissions. Simply set your server's Bid Params object in the bids array inside the adUnits, and it will use your adapter to load an ad. - + NOTE that many ad servers won't send back an ad if the URL is localhost... so you might need to set an alias in your /etc/hosts file so that you can load this page from a different domain. - + --> @@ -22,13 +22,12 @@ // Replace this object to test a new Adapter! bids: [{ - bidder: "gjirafa", - params: { - minCPM: 0.0001, - minCPC: 0.001, - explicit: true - } + bidder: 'appnexusAst', + params: { + placementId: '10433394' + } }] + }]; var pbjs = pbjs || {};