Skip to content

Commit 1aa0ebf

Browse files
Vungle Custom Logic
1 parent ef8bea8 commit 1aa0ebf

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

adapters/vungle/imp_vungle.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package vungle
2+
3+
type VungleBidExt struct {
4+
Detail VungleBidExtDetail `json:"vungle"`
5+
}
6+
7+
type VungleBidExtDetail struct {
8+
PlacementReferenceId string `json:"placement_reference_id"`
9+
}

adapters/vungle/vungle.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"encoding/json"
55
"errors"
66
"fmt"
7+
"github.com/buger/jsonparser"
78
"net/http"
89
"strings"
910

@@ -132,11 +133,27 @@ func (a *adapter) MakeBids(request *openrtb2.BidRequest, requestData *adapters.R
132133
return nil, []error{err}
133134
}
134135

136+
// NewsBreak Custom SDK Logic Begins
137+
ext := VungleBidExt{
138+
Detail: VungleBidExtDetail{
139+
PlacementReferenceId: getAdUnitIdForImp(request.Imp),
140+
},
141+
}
142+
extBytes, err := json.Marshal(&ext)
143+
if err != nil {
144+
return nil, []error{err}
145+
}
146+
// NewsBreak Custom SDK Logic Ends
147+
135148
var errs []error
136149
bidResponse := adapters.NewBidderResponseWithBidsCapacity(len(request.Imp))
137150
bidResponse.Currency = response.Cur
138151
for _, seatBid := range response.SeatBid {
139152
for i := range seatBid.Bid {
153+
// NewsBreak Custom SDK Logic Begins
154+
seatBid.Bid[i].Ext = extBytes
155+
// NewsBreak Custom SDK Logic Ends
156+
140157
b := &adapters.TypedBid{
141158
Bid: &seatBid.Bid[i],
142159
BidType: openrtb_ext.BidTypeVideo,
@@ -149,3 +166,17 @@ func (a *adapter) MakeBids(request *openrtb2.BidRequest, requestData *adapters.R
149166

150167
return bidResponse, errs
151168
}
169+
170+
func getAdUnitIdForImp(imps []openrtb2.Imp) string {
171+
var adUnitId = ""
172+
for _, imp := range imps {
173+
adUnitId, err := jsonparser.GetString(imp.Ext, "bidder", "placement_reference_id")
174+
if err != nil {
175+
continue
176+
}
177+
if adUnitId != "" {
178+
return adUnitId
179+
}
180+
}
181+
return adUnitId
182+
}

0 commit comments

Comments
 (0)