@@ -28,10 +28,7 @@ export const spec = {
28
28
* @return ServerRequest Info describing the request to the server.
29
29
*/
30
30
31
- buildRequests : function ( validBidRequests ) {
32
- // Do we need to group by bidder? i.e. to make multiple requests for
33
- // different endpoints.
34
-
31
+ buildRequests : function ( validBidRequests , bidderRequest ) {
35
32
let ret = {
36
33
method : 'POST' ,
37
34
url : '' ,
@@ -50,14 +47,21 @@ export const spec = {
50
47
const data = Object . assign ( {
51
48
placements : [ ] ,
52
49
time : Date . now ( ) ,
53
- user : { } ,
54
50
url : utils . getTopWindowUrl ( ) ,
55
51
referrer : document . referrer ,
56
- enableBotFiltering : true ,
57
- includePricingData : true ,
58
- parallel : true
52
+ source : [ {
53
+ 'name' : 'prebidjs' ,
54
+ 'version' : '$prebid.version$'
55
+ } ]
59
56
} , validBidRequests [ 0 ] . params ) ;
60
57
58
+ if ( bidderRequest && bidderRequest . gdprConsent ) {
59
+ data . gdpr = {
60
+ consent : bidderRequest . gdprConsent . consentString ,
61
+ applies : ( typeof bidderRequest . gdprConsent . gdprApplies === 'boolean' ) ? bidderRequest . gdprConsent . gdprApplies : true
62
+ } ;
63
+ }
64
+
61
65
validBidRequests . map ( bid => {
62
66
const placement = Object . assign ( {
63
67
divName : bid . bidId ,
@@ -123,12 +127,16 @@ export const spec = {
123
127
return bidResponses ;
124
128
} ,
125
129
126
- getUserSyncs : function ( syncOptions ) {
130
+ getUserSyncs : function ( syncOptions , serverResponses ) {
127
131
if ( syncOptions . iframeEnabled ) {
128
132
return [ {
129
133
type : 'iframe' ,
130
134
url : '//sync.serverbid.com/ss/' + siteId + '.html'
131
135
} ] ;
136
+ }
137
+
138
+ if ( syncOptions . pixelEnabled && serverResponses . length > 0 ) {
139
+ return serverResponses [ 0 ] . body . pixels ;
132
140
} else {
133
141
utils . logWarn ( bidder + ': Please enable iframe based user syncing.' ) ;
134
142
}
@@ -192,12 +200,7 @@ function getSize(sizes) {
192
200
}
193
201
194
202
function retrieveAd ( decision , unitId , unitName ) {
195
- let oad = decision . contents && decision . contents [ 0 ] && decision . contents [ 0 ] . body + utils . createTrackPixelHtml ( decision . impressionUrl ) ;
196
- let cb = Math . round ( new Date ( ) . getTime ( ) ) ;
197
- let ad = '<script type=\'text/javascript\'>document.write(\'<div id=\"' + unitName + '-' + unitId + '\">\');</script>' + oad ;
198
- ad += '<script type=\'text/javascript\'>document.write(\'</div>\');</script>' ;
199
- ad += '<script type=\'text/javascript\'>document.write(\'<div class=\"' + unitName + '\"></div>\');</script>' ;
200
- ad += '<script type=\'text/javascript\'>document.write(\'<scr\'+\'ipt type=\"text/javascript\" src=\"https://yummy.consumable.com/' + unitId + '/' + unitName + '/widget/unit.js?cb=' + cb + '\" charset=\"utf-8\" async></scr\'+\'ipt>\');</script>'
203
+ let ad = decision . contents && decision . contents [ 0 ] && decision . contents [ 0 ] . body + utils . createTrackPixelHtml ( decision . impressionUrl ) ;
201
204
202
205
return ad ;
203
206
}
0 commit comments