diff --git a/modules/adgenerationBidAdapter.js b/modules/adgenerationBidAdapter.js
deleted file mode 100644
index 0e4e9ef6805..00000000000
--- a/modules/adgenerationBidAdapter.js
+++ /dev/null
@@ -1,315 +0,0 @@
-import {tryAppendQueryString, getBidIdParameter, escapeUnsafeChars} from '../src/utils.js';
-import {registerBidder} from '../src/adapters/bidderFactory.js';
-import {BANNER, NATIVE} from '../src/mediaTypes.js';
-import {config} from '../src/config.js';
-import { convertOrtbRequestToProprietaryNative } from '../src/native.js';
-
-const ADG_BIDDER_CODE = 'adgeneration';
-
-export const spec = {
- code: ADG_BIDDER_CODE,
- aliases: ['adg'], // short code
- supportedMediaTypes: [BANNER, NATIVE],
- /**
- * 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 !!(bid.params.id);
- },
- /**
- * 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) {
- // convert Native ORTB definition to old-style prebid native definition
- validBidRequests = convertOrtbRequestToProprietaryNative(validBidRequests);
- const ADGENE_PREBID_VERSION = '1.4.0';
- let serverRequests = [];
- for (let i = 0, len = validBidRequests.length; i < len; i++) {
- const validReq = validBidRequests[i];
- const DEBUG_URL = 'https://api-test.scaleout.jp/adsv/v1';
- const URL = 'https://d.socdm.com/adsv/v1';
- const url = validReq.params.debug ? DEBUG_URL : URL;
- const criteoId = getCriteoId(validReq);
- const id5id = getId5Id(validReq);
- const id5LinkType = getId5LinkType(validReq);
- let data = ``;
- data = tryAppendQueryString(data, 'posall', 'SSPLOC');
- const id = getBidIdParameter('id', validReq.params);
- data = tryAppendQueryString(data, 'id', id);
- data = tryAppendQueryString(data, 'sdktype', '0');
- data = tryAppendQueryString(data, 'hb', 'true');
- data = tryAppendQueryString(data, 't', 'json3');
- data = tryAppendQueryString(data, 'transactionid', validReq.transactionId);
- data = tryAppendQueryString(data, 'sizes', getSizes(validReq));
- data = tryAppendQueryString(data, 'currency', getCurrencyType());
- data = tryAppendQueryString(data, 'pbver', '$prebid.version$');
- data = tryAppendQueryString(data, 'sdkname', 'prebidjs');
- data = tryAppendQueryString(data, 'adapterver', ADGENE_PREBID_VERSION);
- data = tryAppendQueryString(data, 'adgext_criteo_id', criteoId);
- data = tryAppendQueryString(data, 'adgext_id5_id', id5id);
- data = tryAppendQueryString(data, 'adgext_id5_id_link_type', id5LinkType);
- // native以外にvideo等の対応が入った場合は要修正
- if (!validReq.mediaTypes || !validReq.mediaTypes.native) {
- data = tryAppendQueryString(data, 'imark', '1');
- }
-
- // TODO: is 'page' the right value here?
- data = tryAppendQueryString(data, 'tp', bidderRequest.refererInfo.page);
- if (isIos()) {
- const hyperId = getHyperId(validReq);
- if (hyperId != null) {
- data = tryAppendQueryString(data, 'hyper_id', hyperId);
- }
- }
- // remove the trailing "&"
- if (data.lastIndexOf('&') === data.length - 1) {
- data = data.substring(0, data.length - 1);
- }
- serverRequests.push({
- method: 'GET',
- url: url,
- data: data,
- bidRequest: validBidRequests[i]
- });
- }
- return serverRequests;
- },
- /**
- * Unpack the response from the server into a list of bids.
- *
- * @param {ServerResponse} serverResponse A successful response from the server.
- * @param {BidRequest} bidRequests
- * @return {Bid[]} An array of bids which were nested inside the server.
- */
- interpretResponse: function (serverResponse, bidRequests) {
- const body = serverResponse.body;
- if (!body.results || body.results.length < 1) {
- return [];
- }
- const bidRequest = bidRequests.bidRequest;
- const bidResponse = {
- requestId: bidRequest.bidId,
- cpm: body.cpm || 0,
- width: body.w ? body.w : 1,
- height: body.h ? body.h : 1,
- creativeId: body.creativeid || '',
- dealId: body.dealid || '',
- currency: getCurrencyType(),
- netRevenue: true,
- ttl: body.ttl || 10,
- };
- if (body.adomain && Array.isArray(body.adomain) && body.adomain.length) {
- bidResponse.meta = {
- advertiserDomains: body.adomain
- }
- }
- if (isNative(body)) {
- bidResponse.native = createNativeAd(body);
- bidResponse.mediaType = NATIVE;
- } else {
- // banner
- bidResponse.ad = createAd(body, bidRequest);
- }
- return [bidResponse];
- },
-
- /**
- * Register the user sync pixels which should be dropped after the auction.
- *
- * @param {SyncOptions} syncOptions Which user syncs are allowed?
- * @param {ServerResponse[]} serverResponses List of server's responses.
- * @return {UserSync[]} The user syncs which should be dropped.
- */
- getUserSyncs: function (syncOptions, serverResponses) {
- const syncs = [];
- return syncs;
- }
-};
-
-function createAd(body, bidRequest) {
- let ad = body.ad;
- if (body.vastxml && body.vastxml.length > 0) {
- if (isUpperBillboard(body)) {
- const marginTop = bidRequest.params.marginTop ? bidRequest.params.marginTop : '0';
- ad = `
${createADGBrowserMTag()}${insertVASTMethodForADGBrowserM(body.vastxml, marginTop)}`;
- } else {
- ad = `${createAPVTag()}${insertVASTMethodForAPV(bidRequest.bidId, body.vastxml)}`;
- }
- }
- ad = appendChildToBody(ad, body.beacon);
- if (removeWrapper(ad)) return removeWrapper(ad);
- return ad;
-}
-
-function isUpperBillboard(body) {
- if (body.location_params && body.location_params.option && body.location_params.option.ad_type) {
- return body.location_params.option.ad_type === 'upper_billboard';
- }
- return false;
-}
-
-function isNative(body) {
- if (!body) return false;
- return body.native_ad && body.native_ad.assets.length > 0;
-}
-
-function createNativeAd(body) {
- let native = {};
- if (body.native_ad && body.native_ad.assets.length > 0) {
- const assets = body.native_ad.assets;
- for (let i = 0, len = assets.length; i < len; i++) {
- switch (assets[i].id) {
- case 1:
- native.title = assets[i].title.text;
- break;
- case 2:
- native.image = {
- url: assets[i].img.url,
- height: assets[i].img.h,
- width: assets[i].img.w,
- };
- break;
- case 3:
- native.icon = {
- url: assets[i].img.url,
- height: assets[i].img.h,
- width: assets[i].img.w,
- };
- break;
- case 4:
- native.sponsoredBy = assets[i].data.value;
- break;
- case 5:
- native.body = assets[i].data.value;
- break;
- case 6:
- native.cta = assets[i].data.value;
- break;
- case 502:
- native.privacyLink = encodeURIComponent(assets[i].data.value);
- break;
- }
- }
- native.clickUrl = body.native_ad.link.url;
- native.clickTrackers = body.native_ad.link.clicktrackers || [];
- native.impressionTrackers = body.native_ad.imptrackers || [];
- if (body.beaconurl && body.beaconurl != '') {
- native.impressionTrackers.push(body.beaconurl);
- }
- }
- return native;
-}
-
-function appendChildToBody(ad, data) {
- return ad.replace(/<\/\s?body>/, `${data}');
- const lastBodyIndex = ad.lastIndexOf('', '').replace('
↵ ↵ ↵
↵ Creative<\/body>'}
- ],
- rotation: '0',
- scheduleid: '512603',
- sdktype: '0',
- creativeid: '1k2kv35vsa5r',
- dealid: 'fd5sa5fa7f',
- ttl: 1000
- },
- upperBillboard: {
- 'ad': '<\!DOCTYPE html>\n \n \n \n \n \n \n \n \n \n
\n \n',
- 'beacon': '',
- 'beaconurl': 'https://tg.socdm.com/bc/v3?b=Y2hzbT0yOTQsNGZiM2NkNWVpZD0xNDMwMzgmcG9zPVNTUExPQyZhZD0xMjMzMzIzLzI2MTA2MS4yNjU3OTkuMTIzMzMyMy8yMTY2NDY2LzE1NDQxMC8xNDMwMzg6U1NQTE9DOiovaWR4PTA7ZHNwaWQ9MTtkaTI9MjEzNC0xMzI4NjRfbmV3Zm9ybWF0X3Rlc3Q7ZnR5cGU9Mztwcj15TXB3O3ByYj15UTtwcm89eVE7cHJvYz1KUFk7Y3JkMnk9MTExLjkyO2NyeTJkPTAuMDA4OTM0OTUzNTM4MjQxNjAxMztwcnY9aWp6QVZtWW9wbmJUV1B0cWhtZEN1ZWRXNDd0MjU1MEtmYjFWYmI3SzsmZXg9MTYzMzMyNzU4MyZjdD0xNjMzMzI3NTgzODAzJnNyPWh0dHA-&xuid=Xm8Q8cCo5r8AAHCCMg0AAAAA&ctsv=m-ad240&seqid=be38bdb4-74a7-14a7-3439-b7f1ea8b4f33&seqtime=1633327583803&seqctx=gat3by5hZy5mdHlwZaEz&t=.gif',
- 'cpm': 80,
- 'creative_params': {},
- 'creativeid': 'ScaleOut_2146187',
- 'dealid': '2134-132864_newformat_test',
- 'displaytype': '1',
- 'h': 180,
- 'ids': {
- 'anid': '',
- 'diid': '',
- 'idfa': '',
- 'soc': 'Xm8Q8cCo5r8AAHCCMg0AAAAA'
- },
- 'location_params': {
- 'option': {
- 'ad_type': 'upper_billboard'
- }
- },
- 'locationid': '143038',
- 'results': [
- {
- 'ad': '<\!DOCTYPE html>\n \n \n \n \n \n \n \n \n \n
\n \n',
- 'beacon': '',
- 'beaconurl': 'https://tg.socdm.com/bc/v3?b=Y2hzbT0yOTQsNGZiM2NkNWVpZD0xNDMwMzgmcG9zPVNTUExPQyZhZD0xMjMzMzIzLzI2MTA2MS4yNjU3OTkuMTIzMzMyMy8yMTY2NDY2LzE1NDQxMC8xNDMwMzg6U1NQTE9DOiovaWR4PTA7ZHNwaWQ9MTtkaTI9MjEzNC0xMzI4NjRfbmV3Zm9ybWF0X3Rlc3Q7ZnR5cGU9Mztwcj15TXB3O3ByYj15UTtwcm89eVE7cHJvYz1KUFk7Y3JkMnk9MTExLjkyO2NyeTJkPTAuMDA4OTM0OTUzNTM4MjQxNjAxMztwcnY9aWp6QVZtWW9wbmJUV1B0cWhtZEN1ZWRXNDd0MjU1MEtmYjFWYmI3SzsmZXg9MTYzMzMyNzU4MyZjdD0xNjMzMzI3NTgzODAzJnNyPWh0dHA-&xuid=Xm8Q8cCo5r8AAHCCMg0AAAAA&ctsv=m-ad240&seqid=be38bdb4-74a7-14a7-3439-b7f1ea8b4f33&seqtime=1633327583803&seqctx=gat3by5hZy5mdHlwZaEz&t=.gif',
- 'cpm': 80,
- 'creative_params': {},
- 'creativeid': 'ScaleOut_2146187',
- 'dealid': '2134-132864_newformat_test',
- 'h': 180,
- 'landing_url': 'https://supership.jp/',
- 'rparams': {},
- 'scheduleid': '1233323',
- 'trackers': {
- 'imp': [
- 'https://tg.socdm.com/bc/v3?b=Y2hzbT0yOTQsNGZiM2NkNWVpZD0xNDMwMzgmcG9zPVNTUExPQyZhZD0xMjMzMzIzLzI2MTA2MS4yNjU3OTkuMTIzMzMyMy8yMTY2NDY2LzE1NDQxMC8xNDMwMzg6U1NQTE9DOiovaWR4PTA7ZHNwaWQ9MTtkaTI9MjEzNC0xMzI4NjRfbmV3Zm9ybWF0X3Rlc3Q7ZnR5cGU9Mztwcj15TXB3O3ByYj15UTtwcm89eVE7cHJvYz1KUFk7Y3JkMnk9MTExLjkyO2NyeTJkPTAuMDA4OTM0OTUzNTM4MjQxNjAxMztwcnY9aWp6QVZtWW9wbmJUV1B0cWhtZEN1ZWRXNDd0MjU1MEtmYjFWYmI3SzsmZXg9MTYzMzMyNzU4MyZjdD0xNjMzMzI3NTgzODAzJnNyPWh0dHA-&xuid=Xm8Q8cCo5r8AAHCCMg0AAAAA&ctsv=m-ad240&seqid=be38bdb4-74a7-14a7-3439-b7f1ea8b4f33&seqtime=1633327583803&seqctx=gat3by5hZy5mdHlwZaEz&t=.gif'
- ],
- 'viewable_imp': [
- 'https://tg.socdm.com/aux/inview?creative_id=2166466&ctsv=m-ad240&extra_field=idx%3D0%3Bdspid%3D1%3Bdi2%3D2134-132864_newformat_test%3Bftype%3D3%3Bprb%3D0%3Bpro%3D0%3Bproc%3DJPY%3Bcrd2y%3D111.92%3Bcry2d%3D0.0089349535382416013%3Bsspm%3D0%3Bsom%3D0.2%3Borgm%3D0%3Btechm%3D0%3Bssp_margin%3D0%3Bso_margin%3D0.2%3Borg_margin%3D0%3Btech_margin%3D0%3Bbs%3Dclassic%3B&family_id=1233323&id=143038&loglocation_id=154410&lookupname=143038%3ASSPLOC%3A*&pos=SSPLOC&schedule_id=261061.265799.1233323&seqid=be38bdb4-74a7-14a7-3439-b7f1ea8b4f33&seqtime=1633327583803&xuid=Xm8Q8cCo5r8AAHCCMg0AAAAA'
- ],
- 'viewable_measured': [
- 'https://tg.socdm.com/aux/measured?creative_id=2166466&ctsv=m-ad240&extra_field=idx%3D0%3Bdspid%3D1%3Bdi2%3D2134-132864_newformat_test%3Bftype%3D3%3Bprb%3D0%3Bpro%3D0%3Bproc%3DJPY%3Bcrd2y%3D111.92%3Bcry2d%3D0.0089349535382416013%3Bsspm%3D0%3Bsom%3D0.2%3Borgm%3D0%3Btechm%3D0%3Bssp_margin%3D0%3Bso_margin%3D0.2%3Borg_margin%3D0%3Btech_margin%3D0%3Bbs%3Dclassic%3B&family_id=1233323&id=143038&loglocation_id=154410&lookupname=143038%3ASSPLOC%3A*&pos=SSPLOC&schedule_id=261061.265799.1233323&seqid=be38bdb4-74a7-14a7-3439-b7f1ea8b4f33&seqtime=1633327583803&xuid=Xm8Q8cCo5r8AAHCCMg0AAAAA'
- ]
- },
- 'ttl': 1000,
- 'vastxml': '\n \n \n SOADS\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n 00:00:15\n \n \n \n \n \n \n \n \n \n \n \n \n https://i.socdm.com/a/2/2095/2091787/20210810043037-de3e74aec30f36.mp4\n https://i.socdm.com/a/2/2095/2091788/20210810043037-6dd368dc91d507.mp4\n https://i.socdm.com/a/2/2095/2091789/20210810043037-c8eb814ddd85c4.webm\n https://i.socdm.com/a/2/2095/2091790/20210810043037-0a7f74c40268ab.webm\n \n \n \n \n \n \n',
- 'vcpm': 0,
- 'w': 320,
- 'weight': 1
- }
- ],
- 'rotation': '0',
- 'scheduleid': '1233323',
- 'sdktype': '0',
- 'trackers': {
- 'imp': [
- 'https://tg.socdm.com/bc/v3?b=Y2hzbT0yOTQsNGZiM2NkNWVpZD0xNDMwMzgmcG9zPVNTUExPQyZhZD0xMjMzMzIzLzI2MTA2MS4yNjU3OTkuMTIzMzMyMy8yMTY2NDY2LzE1NDQxMC8xNDMwMzg6U1NQTE9DOiovaWR4PTA7ZHNwaWQ9MTtkaTI9MjEzNC0xMzI4NjRfbmV3Zm9ybWF0X3Rlc3Q7ZnR5cGU9Mztwcj15TXB3O3ByYj15UTtwcm89eVE7cHJvYz1KUFk7Y3JkMnk9MTExLjkyO2NyeTJkPTAuMDA4OTM0OTUzNTM4MjQxNjAxMztwcnY9aWp6QVZtWW9wbmJUV1B0cWhtZEN1ZWRXNDd0MjU1MEtmYjFWYmI3SzsmZXg9MTYzMzMyNzU4MyZjdD0xNjMzMzI3NTgzODAzJnNyPWh0dHA-&xuid=Xm8Q8cCo5r8AAHCCMg0AAAAA&ctsv=m-ad240&seqid=be38bdb4-74a7-14a7-3439-b7f1ea8b4f33&seqtime=1633327583803&seqctx=gat3by5hZy5mdHlwZaEz&t=.gif'
- ],
- 'viewable_imp': [
- 'https://tg.socdm.com/aux/inview?creative_id=2166466&ctsv=m-ad240&extra_field=idx%3D0%3Bdspid%3D1%3Bdi2%3D2134-132864_newformat_test%3Bftype%3D3%3Bprb%3D0%3Bpro%3D0%3Bproc%3DJPY%3Bcrd2y%3D111.92%3Bcry2d%3D0.0089349535382416013%3Bsspm%3D0%3Bsom%3D0.2%3Borgm%3D0%3Btechm%3D0%3Bssp_margin%3D0%3Bso_margin%3D0.2%3Borg_margin%3D0%3Btech_margin%3D0%3Bbs%3Dclassic%3B&family_id=1233323&id=143038&loglocation_id=154410&lookupname=143038%3ASSPLOC%3A*&pos=SSPLOC&schedule_id=261061.265799.1233323&seqid=be38bdb4-74a7-14a7-3439-b7f1ea8b4f33&seqtime=1633327583803&xuid=Xm8Q8cCo5r8AAHCCMg0AAAAA'
- ],
- 'viewable_measured': [
- 'https://tg.socdm.com/aux/measured?creative_id=2166466&ctsv=m-ad240&extra_field=idx%3D0%3Bdspid%3D1%3Bdi2%3D2134-132864_newformat_test%3Bftype%3D3%3Bprb%3D0%3Bpro%3D0%3Bproc%3DJPY%3Bcrd2y%3D111.92%3Bcry2d%3D0.0089349535382416013%3Bsspm%3D0%3Bsom%3D0.2%3Borgm%3D0%3Btechm%3D0%3Bssp_margin%3D0%3Bso_margin%3D0.2%3Borg_margin%3D0%3Btech_margin%3D0%3Bbs%3Dclassic%3B&family_id=1233323&id=143038&loglocation_id=154410&lookupname=143038%3ASSPLOC%3A*&pos=SSPLOC&schedule_id=261061.265799.1233323&seqid=be38bdb4-74a7-14a7-3439-b7f1ea8b4f33&seqtime=1633327583803&xuid=Xm8Q8cCo5r8AAHCCMg0AAAAA'
- ]
- },
- 'ttl': 1000,
- 'vastxml': '\n \n \n SOADS\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n 00:00:15\n \n \n \n \n \n \n \n \n \n \n \n \n https://i.socdm.com/a/2/2095/2091787/20210810043037-de3e74aec30f36.mp4\n https://i.socdm.com/a/2/2095/2091788/20210810043037-6dd368dc91d507.mp4\n https://i.socdm.com/a/2/2095/2091789/20210810043037-c8eb814ddd85c4.webm\n https://i.socdm.com/a/2/2095/2091790/20210810043037-0a7f74c40268ab.webm\n \n \n \n \n \n \n',
- 'vcpm': 0,
- 'w': 320,
- }
- },
- emptyAdomain: {
- banner: {
- ad: '↵ ↵
',
- beacon: '',
- cpm: 36.0008,
- displaytype: '1',
- ids: {},
- w: 320,
- h: 100,
- location_params: null,
- locationid: '58279',
- rotation: '0',
- scheduleid: '512603',
- sdktype: '0',
- creativeid: '1k2kv35vsa5r',
- dealid: 'fd5sa5fa7f',
- ttl: 1000,
- results: [
- {ad: '<\!DOCTYPE html>
'},
- ],
- adomain: []
- },
- native: {
- ad: '<\!DOCTYPE html>↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵
↵ ',
- beacon: '',
- cpm: 36.0008,
- displaytype: '1',
- ids: {},
- location_params: null,
- locationid: '58279',
- adomain: [],
- native_ad: {
- assets: [
- {
- data: {
- label: 'accompanying_text',
- value: 'AD'
- },
- id: 501
- },
- {
- data: {
- label: 'optout_url',
- value: 'https://supership.jp/optout/#'
- },
- id: 502
- },
- {
- data: {
- ext: {
- black_back: 'https://i.socdm.com/sdk/img/icon_adg_optout_26x26_white.png',
- },
- label: 'information_icon_url',
- value: 'https://i.socdm.com/sdk/img/icon_adg_optout_26x26_gray.png',
- id: 503
- }
- },
- {
- id: 1,
- required: 1,
- title: {text: 'Title'}
- },
- {
- id: 2,
- img: {
- h: 250,
- url: 'https://sdk-temp.s3-ap-northeast-1.amazonaws.com/adg-sample-ad/img/300x250.png',
- w: 300
- },
- required: 1
- },
- {
- id: 3,
- img: {
- h: 300,
- url: 'https://placehold.jp/300x300.png',
- w: 300
- },
- required: 1
- },
- {
- data: {value: 'Description'},
- id: 5,
- required: 0
- },
- {
- data: {value: 'CTA'},
- id: 6,
- required: 0
- },
- {
- data: {value: 'Sponsored'},
- id: 4,
- required: 0
- }
- ],
- imptrackers: ['https://adg-dummy-dsp.s3-ap-northeast-1.amazonaws.com/1x1.gif'],
- link: {
- clicktrackers: [
- 'https://adg-dummy-dsp.s3-ap-northeast-1.amazonaws.com/1x1_clicktracker_access.gif'
- ],
- url: 'https://supership.jp'
- },
- },
- results: [
- {ad: 'Creative<\/body>'}
- ],
- rotation: '0',
- scheduleid: '512603',
- sdktype: '0',
- creativeid: '1k2kv35vsa5r',
- dealid: 'fd5sa5fa7f',
- ttl: 1000
- }
- },
- noAdomain: {
- banner: {
- ad: '↵ ↵
',
- beacon: '',
- cpm: 36.0008,
- displaytype: '1',
- ids: {},
- w: 320,
- h: 100,
- location_params: null,
- locationid: '58279',
- rotation: '0',
- scheduleid: '512603',
- sdktype: '0',
- creativeid: '1k2kv35vsa5r',
- dealid: 'fd5sa5fa7f',
- ttl: 1000,
- results: [
- {ad: '<\!DOCTYPE html>
'},
- ],
- },
- native: {
- ad: '<\!DOCTYPE html>↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵
↵ ',
- beacon: '',
- cpm: 36.0008,
- displaytype: '1',
- ids: {},
- location_params: null,
- locationid: '58279',
- native_ad: {
- assets: [
- {
- data: {
- label: 'accompanying_text',
- value: 'AD'
- },
- id: 501
- },
- {
- data: {
- label: 'optout_url',
- value: 'https://supership.jp/optout/#'
- },
- id: 502
- },
- {
- data: {
- ext: {
- black_back: 'https://i.socdm.com/sdk/img/icon_adg_optout_26x26_white.png',
- },
- label: 'information_icon_url',
- value: 'https://i.socdm.com/sdk/img/icon_adg_optout_26x26_gray.png',
- id: 503
- }
- },
- {
- id: 1,
- required: 1,
- title: {text: 'Title'}
- },
- {
- id: 2,
- img: {
- h: 250,
- url: 'https://sdk-temp.s3-ap-northeast-1.amazonaws.com/adg-sample-ad/img/300x250.png',
- w: 300
- },
- required: 1
- },
- {
- id: 3,
- img: {
- h: 300,
- url: 'https://placehold.jp/300x300.png',
- w: 300
- },
- required: 1
- },
- {
- data: {value: 'Description'},
- id: 5,
- required: 0
- },
- {
- data: {value: 'CTA'},
- id: 6,
- required: 0
- },
- {
- data: {value: 'Sponsored'},
- id: 4,
- required: 0
- }
- ],
- imptrackers: ['https://adg-dummy-dsp.s3-ap-northeast-1.amazonaws.com/1x1.gif'],
- link: {
- clicktrackers: [
- 'https://adg-dummy-dsp.s3-ap-northeast-1.amazonaws.com/1x1_clicktracker_access.gif'
- ],
- url: 'https://supership.jp'
- },
- },
- results: [
- {ad: 'Creative<\/body>'}
- ],
- rotation: '0',
- scheduleid: '512603',
- sdktype: '0',
- creativeid: '1k2kv35vsa5r',
- dealid: 'fd5sa5fa7f',
- ttl: 1000
- }
- }
- };
-
- const bidResponses = {
- normal: {
- banner: {
- requestId: '2f6ac468a9c15e',
- cpm: 36.0008,
- width: 320,
- height: 100,
- creativeId: '1k2kv35vsa5r',
- dealId: 'fd5sa5fa7f',
- currency: 'JPY',
- netRevenue: true,
- ttl: 1000,
- ad: '↵ ↵
',
- adomain: ['advertiserdomain.com']
- },
- native: {
- requestId: '2f6ac468a9c15e',
- cpm: 36.0008,
- width: 1,
- height: 1,
- creativeId: '1k2kv35vsa5r',
- dealId: 'fd5sa5fa7f',
- currency: 'JPY',
- netRevenue: true,
- ttl: 1000,
- adomain: ['advertiserdomain.com'],
- ad: '↵ ↵ ↵
↵ ',
- native: {
- title: 'Title',
- image: {
- url: 'https://sdk-temp.s3-ap-northeast-1.amazonaws.com/adg-sample-ad/img/300x250.png',
- height: 250,
- width: 300
- },
- icon: {
- url: 'https://placehold.jp/300x300.png',
- height: 300,
- width: 300
- },
- sponsoredBy: 'Sponsored',
- body: 'Description',
- cta: 'CTA',
- privacyLink: 'https://supership.jp/optout/#',
- clickUrl: 'https://supership.jp',
- clickTrackers: ['https://adg-dummy-dsp.s3-ap-northeast-1.amazonaws.com/1x1_clicktracker_access.gif'],
- impressionTrackers: ['https://adg-dummy-dsp.s3-ap-northeast-1.amazonaws.com/1x1.gif']
- },
- mediaType: NATIVE
- },
- upperBillboard: {
- requestId: '2f6ac468a9c15e',
- cpm: 80,
- width: 320,
- height: 180,
- creativeId: 'ScaleOut_2146187',
- dealId: '2134-132864_newformat_test',
- currency: 'JPY',
- netRevenue: true,
- ttl: 1000,
- ad: ``,
- adomain: ['advertiserdomain.com']
- },
- },
- emptyAdomain: {
- banner: {
- requestId: '2f6ac468a9c15e',
- cpm: 36.0008,
- width: 320,
- height: 100,
- creativeId: '1k2kv35vsa5r',
- dealId: 'fd5sa5fa7f',
- currency: 'JPY',
- netRevenue: true,
- ttl: 1000,
- ad: '↵ ↵
',
- adomain: []
- },
- native: {
- requestId: '2f6ac468a9c15e',
- cpm: 36.0008,
- width: 1,
- height: 1,
- creativeId: '1k2kv35vsa5r',
- dealId: 'fd5sa5fa7f',
- currency: 'JPY',
- netRevenue: true,
- ttl: 1000,
- adomain: [],
- ad: '↵ ↵ ↵
↵ ',
- native: {
- title: 'Title',
- image: {
- url: 'https://sdk-temp.s3-ap-northeast-1.amazonaws.com/adg-sample-ad/img/300x250.png',
- height: 250,
- width: 300
- },
- icon: {
- url: 'https://placehold.jp/300x300.png',
- height: 300,
- width: 300
- },
- sponsoredBy: 'Sponsored',
- body: 'Description',
- cta: 'CTA',
- privacyLink: 'https://supership.jp/optout/#',
- clickUrl: 'https://supership.jp',
- clickTrackers: ['https://adg-dummy-dsp.s3-ap-northeast-1.amazonaws.com/1x1_clicktracker_access.gif'],
- impressionTrackers: ['https://adg-dummy-dsp.s3-ap-northeast-1.amazonaws.com/1x1.gif']
- },
- mediaType: NATIVE
- },
- },
- noAdomain: {
- banner: {
- requestId: '2f6ac468a9c15e',
- cpm: 36.0008,
- width: 320,
- height: 100,
- creativeId: '1k2kv35vsa5r',
- dealId: 'fd5sa5fa7f',
- currency: 'JPY',
- netRevenue: true,
- ttl: 1000,
- ad: '↵ ↵
',
- },
- native: {
- requestId: '2f6ac468a9c15e',
- cpm: 36.0008,
- width: 1,
- height: 1,
- creativeId: '1k2kv35vsa5r',
- dealId: 'fd5sa5fa7f',
- currency: 'JPY',
- netRevenue: true,
- ttl: 1000,
- ad: '↵ ↵ ↵
↵ ',
- native: {
- title: 'Title',
- image: {
- url: 'https://sdk-temp.s3-ap-northeast-1.amazonaws.com/adg-sample-ad/img/300x250.png',
- height: 250,
- width: 300
- },
- icon: {
- url: 'https://placehold.jp/300x300.png',
- height: 300,
- width: 300
- },
- sponsoredBy: 'Sponsored',
- body: 'Description',
- cta: 'CTA',
- privacyLink: 'https://supership.jp/optout/#',
- clickUrl: 'https://supership.jp',
- clickTrackers: ['https://adg-dummy-dsp.s3-ap-northeast-1.amazonaws.com/1x1_clicktracker_access.gif'],
- impressionTrackers: ['https://adg-dummy-dsp.s3-ap-northeast-1.amazonaws.com/1x1.gif']
- },
- mediaType: NATIVE
- }
- },
- };
-
- it('no bid responses', function () {
- const result = spec.interpretResponse({body: serverResponse.noAd}, bidRequests.banner);
- expect(result.length).to.equal(0);
- });
-
- it('handles ADGBrowserM responses', function () {
- config.setConfig({
- currency: {
- adServerCurrency: 'JPY'
- }
- });
- const result = spec.interpretResponse({body: serverResponse.normal.upperBillboard}, bidRequests.upperBillboard)[0];
- expect(result.requestId).to.equal(bidResponses.normal.upperBillboard.requestId);
- expect(result.width).to.equal(bidResponses.normal.upperBillboard.width);
- expect(result.height).to.equal(bidResponses.normal.upperBillboard.height);
- expect(result.creativeId).to.equal(bidResponses.normal.upperBillboard.creativeId);
- expect(result.dealId).to.equal(bidResponses.normal.upperBillboard.dealId);
- expect(result.currency).to.equal(bidResponses.normal.upperBillboard.currency);
- expect(result.netRevenue).to.equal(bidResponses.normal.upperBillboard.netRevenue);
- expect(result.ttl).to.equal(bidResponses.normal.upperBillboard.ttl);
- expect(result.ad).to.equal(bidResponses.normal.upperBillboard.ad);
- });
-
- it('handles banner responses for empty adomain', function () {
- const result = spec.interpretResponse({body: serverResponse.emptyAdomain.banner}, bidRequests.banner)[0];
- expect(result.requestId).to.equal(bidResponses.emptyAdomain.banner.requestId);
- expect(result.width).to.equal(bidResponses.emptyAdomain.banner.width);
- expect(result.height).to.equal(bidResponses.emptyAdomain.banner.height);
- expect(result.creativeId).to.equal(bidResponses.emptyAdomain.banner.creativeId);
- expect(result.dealId).to.equal(bidResponses.emptyAdomain.banner.dealId);
- expect(result.currency).to.equal(bidResponses.emptyAdomain.banner.currency);
- expect(result.netRevenue).to.equal(bidResponses.emptyAdomain.banner.netRevenue);
- expect(result.ttl).to.equal(bidResponses.emptyAdomain.banner.ttl);
- expect(result.ad).to.equal(bidResponses.emptyAdomain.banner.ad);
- expect(result).to.not.have.any.keys('meta');
- expect(result).to.not.have.any.keys('advertiserDomains');
- });
-
- it('handles native responses for empty adomain', function () {
- const result = spec.interpretResponse({body: serverResponse.emptyAdomain.native}, bidRequests.native)[0];
- expect(result.requestId).to.equal(bidResponses.emptyAdomain.native.requestId);
- expect(result.width).to.equal(bidResponses.emptyAdomain.native.width);
- expect(result.height).to.equal(bidResponses.emptyAdomain.native.height);
- expect(result.creativeId).to.equal(bidResponses.emptyAdomain.native.creativeId);
- expect(result.dealId).to.equal(bidResponses.emptyAdomain.native.dealId);
- expect(result.currency).to.equal(bidResponses.emptyAdomain.native.currency);
- expect(result.netRevenue).to.equal(bidResponses.emptyAdomain.native.netRevenue);
- expect(result.ttl).to.equal(bidResponses.emptyAdomain.native.ttl);
- expect(result.native.title).to.equal(bidResponses.emptyAdomain.native.native.title);
- expect(result.native.image.url).to.equal(bidResponses.emptyAdomain.native.native.image.url);
- expect(result.native.image.height).to.equal(bidResponses.emptyAdomain.native.native.image.height);
- expect(result.native.image.width).to.equal(bidResponses.emptyAdomain.native.native.image.width);
- expect(result.native.icon.url).to.equal(bidResponses.emptyAdomain.native.native.icon.url);
- expect(result.native.icon.width).to.equal(bidResponses.emptyAdomain.native.native.icon.width);
- expect(result.native.icon.height).to.equal(bidResponses.emptyAdomain.native.native.icon.height);
- expect(result.native.sponsoredBy).to.equal(bidResponses.emptyAdomain.native.native.sponsoredBy);
- expect(result.native.body).to.equal(bidResponses.emptyAdomain.native.native.body);
- expect(result.native.cta).to.equal(bidResponses.emptyAdomain.native.native.cta);
- expect(decodeURIComponent(result.native.privacyLink)).to.equal(bidResponses.emptyAdomain.native.native.privacyLink);
- expect(result.native.clickUrl).to.equal(bidResponses.emptyAdomain.native.native.clickUrl);
- expect(result.native.impressionTrackers[0]).to.equal(bidResponses.emptyAdomain.native.native.impressionTrackers[0]);
- expect(result.native.clickTrackers[0]).to.equal(bidResponses.emptyAdomain.native.native.clickTrackers[0]);
- expect(result.mediaType).to.equal(bidResponses.emptyAdomain.native.mediaType);
- expect(result).to.not.have.any.keys('meta');
- expect(result).to.not.have.any.keys('advertiserDomains');
- });
-
- it('handles banner responses for no adomain', function () {
- const result = spec.interpretResponse({body: serverResponse.noAdomain.banner}, bidRequests.banner)[0];
- expect(result.requestId).to.equal(bidResponses.noAdomain.banner.requestId);
- expect(result.width).to.equal(bidResponses.noAdomain.banner.width);
- expect(result.height).to.equal(bidResponses.noAdomain.banner.height);
- expect(result.creativeId).to.equal(bidResponses.noAdomain.banner.creativeId);
- expect(result.dealId).to.equal(bidResponses.noAdomain.banner.dealId);
- expect(result.currency).to.equal(bidResponses.noAdomain.banner.currency);
- expect(result.netRevenue).to.equal(bidResponses.noAdomain.banner.netRevenue);
- expect(result.ttl).to.equal(bidResponses.noAdomain.banner.ttl);
- expect(result.ad).to.equal(bidResponses.noAdomain.banner.ad);
- expect(result).to.not.have.any.keys('meta');
- expect(result).to.not.have.any.keys('advertiserDomains');
- });
-
- it('handles native responses for no adomain', function () {
- const result = spec.interpretResponse({body: serverResponse.noAdomain.native}, bidRequests.native)[0];
- expect(result.requestId).to.equal(bidResponses.noAdomain.native.requestId);
- expect(result.width).to.equal(bidResponses.noAdomain.native.width);
- expect(result.height).to.equal(bidResponses.noAdomain.native.height);
- expect(result.creativeId).to.equal(bidResponses.noAdomain.native.creativeId);
- expect(result.dealId).to.equal(bidResponses.noAdomain.native.dealId);
- expect(result.currency).to.equal(bidResponses.noAdomain.native.currency);
- expect(result.netRevenue).to.equal(bidResponses.noAdomain.native.netRevenue);
- expect(result.ttl).to.equal(bidResponses.noAdomain.native.ttl);
- expect(result.native.title).to.equal(bidResponses.noAdomain.native.native.title);
- expect(result.native.image.url).to.equal(bidResponses.noAdomain.native.native.image.url);
- expect(result.native.image.height).to.equal(bidResponses.noAdomain.native.native.image.height);
- expect(result.native.image.width).to.equal(bidResponses.noAdomain.native.native.image.width);
- expect(result.native.icon.url).to.equal(bidResponses.noAdomain.native.native.icon.url);
- expect(result.native.icon.width).to.equal(bidResponses.noAdomain.native.native.icon.width);
- expect(result.native.icon.height).to.equal(bidResponses.noAdomain.native.native.icon.height);
- expect(result.native.sponsoredBy).to.equal(bidResponses.noAdomain.native.native.sponsoredBy);
- expect(result.native.body).to.equal(bidResponses.noAdomain.native.native.body);
- expect(result.native.cta).to.equal(bidResponses.noAdomain.native.native.cta);
- expect(decodeURIComponent(result.native.privacyLink)).to.equal(bidResponses.noAdomain.native.native.privacyLink);
- expect(result.native.clickUrl).to.equal(bidResponses.noAdomain.native.native.clickUrl);
- expect(result.native.impressionTrackers[0]).to.equal(bidResponses.noAdomain.native.native.impressionTrackers[0]);
- expect(result.native.clickTrackers[0]).to.equal(bidResponses.noAdomain.native.native.clickTrackers[0]);
- expect(result.mediaType).to.equal(bidResponses.noAdomain.native.mediaType);
- expect(result).to.not.have.any.keys('meta');
- expect(result).to.not.have.any.keys('advertiserDomains');
- });
- });
-});
`);
-}
-
-function createAPVTag() {
- const APVURL = 'https://cdn.apvdr.com/js/VideoAd.min.js';
- let apvScript = document.createElement('script');
- apvScript.type = 'text/javascript';
- apvScript.id = 'apv';
- apvScript.src = APVURL;
- return apvScript.outerHTML;
-}
-
-function createADGBrowserMTag() {
- const ADGBrowserMURL = 'https://i.socdm.com/sdk/js/adg-browser-m.js';
- return ``;
-}
-
-function insertVASTMethodForAPV(targetId, vastXml) {
- let apvVideoAdParam = {
- s: targetId
- };
- let script = document.createElement(`script`);
- script.type = 'text/javascript';
- script.innerHTML = `(function(){ new APV.VideoAd(${escapeUnsafeChars(JSON.stringify(apvVideoAdParam))}).load('${vastXml.replace(/\r?\n/g, '')}'); })();`;
- return script.outerHTML;
-}
-
-function insertVASTMethodForADGBrowserM(vastXml, marginTop) {
- const script = document.createElement(`script`);
- script.type = 'text/javascript';
- script.innerHTML = `window.ADGBrowserM.init({vastXml: '${vastXml.replace(/\r?\n/g, '')}', marginTop: '${marginTop}'});`;
- return script.outerHTML;
-}
-
-/**
- *
- * @param ad
- */
-function removeWrapper(ad) {
- const bodyIndex = ad.indexOf('
');
- if (bodyIndex === -1 || lastBodyIndex === -1) return false;
- return ad.substr(bodyIndex, lastBodyIndex).replace('
', '');
-}
-
-/**
- * request
- * @param validReq request
- * @returns {?string} 300x250,320x50...
- */
-function getSizes(validReq) {
- const sizes = validReq.sizes;
- if (!sizes || sizes.length < 1) return null;
- let sizesStr = '';
- for (const i in sizes) {
- const size = sizes[i];
- if (size.length !== 2) return null;
- sizesStr += `${size[0]}x${size[1]},`;
- }
- if (sizesStr || sizesStr.lastIndexOf(',') === sizesStr.length - 1) {
- sizesStr = sizesStr.substring(0, sizesStr.length - 1);
- }
- return sizesStr;
-}
-
-/**
- * @return {?string} USD or JPY
- */
-function getCurrencyType() {
- if (config.getConfig('currency.adServerCurrency') && config.getConfig('currency.adServerCurrency').toUpperCase() === 'USD') return 'USD';
- return 'JPY';
-}
-
-/**
- *
- * @param validReq request
- * @return {null|string}
- */
-function getCriteoId(validReq) {
- return (validReq.userId && validReq.userId.criteoId) ? validReq.userId.criteoId : null
-}
-
-function getId5Id(validReq) {
- return validId5(validReq) ? validReq.userId.id5id.uid : null
-}
-
-function getId5LinkType(validReq) {
- return validId5(validReq) ? validReq.userId.id5id.ext.linkType : null
-}
-
-function validId5(validReq) {
- return validReq.userId && validReq.userId.id5id && validReq.userId.id5id.uid && validReq.userId.id5id.ext.linkType
-}
-
-function getHyperId(validReq) {
- if (validReq.userId && validReq.userId.novatiq && validReq.userId.novatiq.snowflake.syncResponse === 1) {
- return validReq.userId.novatiq.snowflake.id;
- }
- return null;
-}
-
-function isIos() {
- return (/(ios|ipod|ipad|iphone)/i).test(window.navigator.userAgent);
-}
-
-registerBidder(spec);
diff --git a/modules/adgenerationBidAdapter.md b/modules/adgenerationBidAdapter.md
deleted file mode 100644
index 7f66732ff38..00000000000
--- a/modules/adgenerationBidAdapter.md
+++ /dev/null
@@ -1,75 +0,0 @@
-# Overview
-
-```
-Module Name: AdGeneration Bid Adapter
-Module Type: Bidder Adapter
-Maintainer: ssp-ope@supership.jp
-```
-
-# Description
-
-Connects to AdGeneration exchange for bids.
-
-AdGeneration bid adapter supports Banner and Native.
-
-# Test Parameters
-```
-var adUnits = [
- // Banner adUnit
- {
- code: 'banner-div', // banner
- mediaTypes: {
- banner: {
- sizes: [[300, 250]],
- }
- },
- bids: [
- {
- bidder: 'adg',
- params: {
- id: '58278', // banner
- }
- },
- ]
- },
- // Native adUnit
- {
- code: 'native-div',
- sizes: [[1,1]],
- mediaTypes: {
- native: {
- image: {
- required: true
- },
- title: {
- required: true,
- len: 80
- },
- sponsoredBy: {
- required: true
- },
- clickUrl: {
- required: true
- },
- body: {
- required: true
- },
- icon: {
- required: true
- },
- privacyLink: {
- required: true
- },
- },
- },
- bids: [
- {
- bidder: 'adg',
- params: {
- id: '58279', //native
- }
- },
- ]
- },
-];
-```
diff --git a/test/spec/modules/adgenerationBidAdapter_spec.js b/test/spec/modules/adgenerationBidAdapter_spec.js
deleted file mode 100644
index 8583c226e50..00000000000
--- a/test/spec/modules/adgenerationBidAdapter_spec.js
+++ /dev/null
@@ -1,984 +0,0 @@
-import {expect} from 'chai';
-import {spec} from 'modules/adgenerationBidAdapter.js';
-import {newBidder} from 'src/adapters/bidderFactory.js';
-import {NATIVE} from 'src/mediaTypes.js';
-import {config} from 'src/config.js';
-import prebid from '../../../package.json';
-
-describe('AdgenerationAdapter', function () {
- const adapter = newBidder(spec);
- const ENDPOINT = ['https://api-test.scaleout.jp/adsv/v1', 'https://d.socdm.com/adsv/v1'];
-
- describe('inherited functions', function () {
- it('exists and is a function', function () {
- expect(adapter.callBids).to.exist.and.to.be.a('function');
- });
- });
-
- describe('isBidRequestValid', function () {
- const bid = {
- 'bidder': 'adg',
- 'params': {
- id: '58278', // banner
- }
- };
- it('should return true when required params found', function () {
- expect(spec.isBidRequestValid(bid)).to.equal(true);
- });
-
- it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
- });
-
- describe('buildRequests', function () {
- const bidRequests = [
- { // banner
- bidder: 'adg',
- params: {
- id: '58278',
- currency: 'JPY',
- },
- adUnitCode: 'adunit-code',
- sizes: [[300, 250], [320, 100]],
- bidId: '2f6ac468a9c15e',
- bidderRequestId: '14a9f773e30243',
- auctionId: '4aae9f05-18c6-4fcd-80cf-282708cd584a',
- transactionTd: 'f76f6dfd-d64f-4645-a29f-682bac7f431a'
- },
- { // native
- bidder: 'adg',
- params: {
- id: '58278',
- currency: 'JPY',
- },
- mediaTypes: {
- native: {
- image: {
- required: true
- },
- title: {
- required: true,
- len: 80
- },
- sponsoredBy: {
- required: true
- },
- clickUrl: {
- required: true
- },
- body: {
- required: true
- },
- icon: {
- required: true
- }
- },
- },
- adUnitCode: 'adunit-code',
- sizes: [[1, 1]],
- bidId: '2f6ac468a9c15e',
- bidderRequestId: '14a9f773e30243',
- auctionId: '4aae9f05-18c6-4fcd-80cf-282708cd584a',
- transactionTd: 'f76f6dfd-d64f-4645-a29f-682bac7f431a'
- },
- { // bannerWithHyperId
- bidder: 'adg',
- params: {
- id: '58278', // banner
- },
- adUnitCode: 'adunit-code',
- sizes: [[320, 100]],
- bidId: '2f6ac468a9c15e',
- bidderRequestId: '14a9f773e30243',
- auctionId: '4aae9f05-18c6-4fcd-80cf-282708cd584a',
- transactionTd: 'f76f6dfd-d64f-4645-a29f-682bac7f431a',
- userId: {
- novatiq: {
- snowflake: {'id': 'novatiqId', syncResponse: 1}
- }
- }
- },
- { // bannerWithAdgextCriteoId
- bidder: 'adg',
- params: {
- id: '58278', // banner
- },
- adUnitCode: 'adunit-code',
- sizes: [[320, 100]],
- bidId: '2f6ac468a9c15e',
- bidderRequestId: '14a9f773e30243',
- auctionId: '4aae9f05-18c6-4fcd-80cf-282708cd584a',
- transactionTd: 'f76f6dfd-d64f-4645-a29f-682bac7f431a',
- userId: {
- criteoId: 'criteo-id-test-1234567890'
- }
- },
- { // bannerWithAdgextId5Id
- bidder: 'adg',
- params: {
- id: '58278', // banner
- },
- adUnitCode: 'adunit-code',
- sizes: [[320, 100]],
- bidId: '2f6ac468a9c15e',
- bidderRequestId: '14a9f773e30243',
- auctionId: '4aae9f05-18c6-4fcd-80cf-282708cd584a',
- transactionTd: 'f76f6dfd-d64f-4645-a29f-682bac7f431a',
- userId: {
- id5id: {
- ext: {
- linkType: 2
- },
- uid: 'id5-id-test-1234567890'
- }
- }
- }
- ];
- const bidderRequest = {
- refererInfo: {
- page: 'https://example.com'
- }
- };
- const data = {
- banner: `posall=SSPLOC&id=58278&sdktype=0&hb=true&t=json3&sizes=300x250%2C320x100¤cy=JPY&pbver=${prebid.version}&sdkname=prebidjs&adapterver=1.4.0&imark=1&tp=https%3A%2F%2Fexample.com`,
- bannerUSD: `posall=SSPLOC&id=58278&sdktype=0&hb=true&t=json3&sizes=300x250%2C320x100¤cy=USD&pbver=${prebid.version}&sdkname=prebidjs&adapterver=1.4.0&imark=1&tp=https%3A%2F%2Fexample.com`,
- native: `posall=SSPLOC&id=58278&sdktype=0&hb=true&t=json3&sizes=1x1¤cy=JPY&pbver=${prebid.version}&sdkname=prebidjs&adapterver=1.4.0&tp=https%3A%2F%2Fexample.com`,
- bannerWithHyperId: `posall=SSPLOC&id=58278&sdktype=0&hb=true&t=json3&sizes=320x100¤cy=JPY&pbver=${prebid.version}&sdkname=prebidjs&adapterver=1.4.0&imark=1&tp=https%3A%2F%2Fexample.com&hyper_id=novatiqId`,
- bannerWithAdgextCriteoId: `posall=SSPLOC&id=58278&sdktype=0&hb=true&t=json3&sizes=320x100¤cy=JPY&pbver=${prebid.version}&sdkname=prebidjs&adapterver=1.4.0&adgext_criteo_id=criteo-id-test-1234567890&imark=1&tp=https%3A%2F%2Fexample.com`,
- bannerWithAdgextId5Id: `posall=SSPLOC&id=58278&sdktype=0&hb=true&t=json3&sizes=320x100¤cy=JPY&pbver=${prebid.version}&sdkname=prebidjs&adapterver=1.4.0&adgext_id5_id=id5-id-test-1234567890&adgext_id5_id_link_type=2&imark=1&tp=https%3A%2F%2Fexample.com`,
- };
- it('sends bid request to ENDPOINT via GET', function () {
- const request = spec.buildRequests(bidRequests, bidderRequest)[0];
- expect(request.url).to.equal(ENDPOINT[1]);
- expect(request.method).to.equal('GET');
- });
-
- it('sends bid request to debug ENDPOINT via GET', function () {
- bidRequests[0].params.debug = true;
- const request = spec.buildRequests(bidRequests, bidderRequest)[0];
- expect(request.url).to.equal(ENDPOINT[0]);
- expect(request.method).to.equal('GET');
- });
-
- it('should attache params to the banner request', function () {
- const request = spec.buildRequests(bidRequests, bidderRequest)[0];
- expect(request.data).to.equal(data.banner);
- });
-
- it('should attache params to the native request', function () {
- const request = spec.buildRequests(bidRequests, bidderRequest)[1];
- expect(request.data).to.equal(data.native);
- });
-
- it('should attache params to the bannerWithHyperId request', function () {
- const defaultUA = window.navigator.userAgent;
- window.navigator.__defineGetter__('userAgent', function() {
- return 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1';
- });
- const request = spec.buildRequests(bidRequests, bidderRequest)[2];
-
- window.navigator.__defineGetter__('userAgent', function() {
- return defaultUA;
- });
- expect(request.data).to.equal(data.bannerWithHyperId);
- });
-
- it('should attache params to the bannerWithAdgextCriteoId request', function () {
- const request = spec.buildRequests(bidRequests, bidderRequest)[3];
- expect(request.data).to.equal(data.bannerWithAdgextCriteoId);
- });
-
- it('should attache params to the bannerWithAdgextId5Id request', function () {
- const request = spec.buildRequests(bidRequests, bidderRequest)[4];
- expect(request.data).to.equal(data.bannerWithAdgextId5Id);
- });
-
- it('allows setConfig to set bidder currency for JPY', function () {
- config.setConfig({
- currency: {
- adServerCurrency: 'JPY'
- }
- });
- const request = spec.buildRequests(bidRequests, bidderRequest)[0];
- expect(request.data).to.equal(data.banner);
- config.resetConfig();
- });
- it('allows setConfig to set bidder currency for USD', function () {
- config.setConfig({
- currency: {
- adServerCurrency: 'USD'
- }
- });
- const request = spec.buildRequests(bidRequests, bidderRequest)[0];
- expect(request.data).to.equal(data.bannerUSD);
- config.resetConfig();
- });
- });
- describe('interpretResponse', function () {
- const bidRequests = {
- banner: {
- bidRequest: {
- bidder: 'adg',
- params: {
- id: '58278', // banner
- },
- adUnitCode: 'adunit-code',
- sizes: [[320, 100]],
- bidId: '2f6ac468a9c15e',
- bidderRequestId: '14a9f773e30243',
- auctionId: '4aae9f05-18c6-4fcd-80cf-282708cd584a',
- transactionTd: 'f76f6dfd-d64f-4645-a29f-682bac7f431a'
- },
- },
- native: {
- bidRequest: {
- bidder: 'adg',
- params: {
- id: '58278', // banner
- },
- mediaTypes: {
- native: {
- image: {
- required: true
- },
- title: {
- required: true,
- len: 80
- },
- sponsoredBy: {
- required: true
- },
- clickUrl: {
- required: true
- },
- body: {
- required: true
- },
- icon: {
- required: true
- }
- }
- },
- adUnitCode: 'adunit-code',
- sizes: [[1, 1]],
- bidId: '2f6ac468a9c15e',
- bidderRequestId: '14a9f773e30243',
- auctionId: '4aae9f05-18c6-4fcd-80cf-282708cd584a',
- transactionTd: 'f76f6dfd-d64f-4645-a29f-682bac7f431a'
- },
- },
- upperBillboard: {
- bidRequest: {
- bidder: 'adg',
- params: {
- id: '143038', // banner
- marginTop: '50',
- },
- adUnitCode: 'adunit-code',
- sizes: [[320, 180]],
- bidId: '2f6ac468a9c15e',
- bidderRequestId: '14a9f773e30243',
- auctionId: '4aae9f05-18c6-4fcd-80cf-282708cd584a',
- transactionTd: 'f76f6dfd-d64f-4645-a29f-682bac7f431a'
- },
- },
- };
-
- const serverResponse = {
- noAd: {
- results: [],
- },
- normal: {
- banner: {
- ad: '
↵ ↵
',
- beacon: '',
- cpm: 36.0008,
- displaytype: '1',
- ids: {},
- w: 320,
- h: 100,
- location_params: null,
- locationid: '58279',
- rotation: '0',
- scheduleid: '512603',
- sdktype: '0',
- creativeid: '1k2kv35vsa5r',
- dealid: 'fd5sa5fa7f',
- ttl: 1000,
- results: [
- {ad: '<\!DOCTYPE html>
'},
- ],
- adomain: ['advertiserdomain.com']
- },
- native: {
- ad: '<\!DOCTYPE html>↵
↵ ↵ ↵ ↵ ↵ ↵
',
- beacon: '',
- cpm: 36.0008,
- displaytype: '1',
- ids: {},
- location_params: null,
- locationid: '58279',
- adomain: ['advertiserdomain.com'],
- native_ad: {
- assets: [
- {
- data: {
- label: 'accompanying_text',
- value: 'AD'
- },
- id: 501
- },
- {
- data: {
- label: 'optout_url',
- value: 'https://supership.jp/optout/#'
- },
- id: 502
- },
- {
- data: {
- ext: {
- black_back: 'https://i.socdm.com/sdk/img/icon_adg_optout_26x26_white.png',
- },
- label: 'information_icon_url',
- value: 'https://i.socdm.com/sdk/img/icon_adg_optout_26x26_gray.png',
- id: 503
- }
- },
- {
- id: 1,
- required: 1,
- title: {text: 'Title'}
- },
- {
- id: 2,
- img: {
- h: 250,
- url: 'https://sdk-temp.s3-ap-northeast-1.amazonaws.com/adg-sample-ad/img/300x250.png',
- w: 300
- },
- required: 1
- },
- {
- id: 3,
- img: {
- h: 300,
- url: 'https://placehold.jp/300x300.png',
- w: 300
- },
- required: 1
- },
- {
- data: {value: 'Description'},
- id: 5,
- required: 0
- },
- {
- data: {value: 'CTA'},
- id: 6,
- required: 0
- },
- {
- data: {value: 'Sponsored'},
- id: 4,
- required: 0
- }
- ],
- imptrackers: ['https://adg-dummy-dsp.s3-ap-northeast-1.amazonaws.com/1x1.gif'],
- link: {
- clicktrackers: [
- 'https://adg-dummy-dsp.s3-ap-northeast-1.amazonaws.com/1x1_clicktracker_access.gif'
- ],
- url: 'https://supership.jp'
- },
- },
- results: [
- {ad: '