-
Notifications
You must be signed in to change notification settings - Fork 92
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bids Response hook #303
Comments
Since we already use a minimal set of targeting keywords to make universal creative to work, we should not let publishers to modify the returned keys. We could provide a immutable class that only allows adding extra keys. However, looking PR 199 in Android, it already solves this problem... |
Since Prebid SDK is not a final point(the final point is ad server SDK as AdManager or MoPub), Prebid SDK can not guarantee that Key/Values will not be modified. Publisher is able to modify custom parameters using ad server SDK. iOS: adUnit.fetchDemand(adObject: self.amRequest) { [weak self] (resultCode: ResultCode) in
//add key/value
self?.amRequest.customTargeting?["myKey"] = "my value"
//change value
self?.amRequest.customTargeting?["hb_size"] = "new size"
//remove key/value
self?.amRequest.customTargeting?.removeValue(forKey: "hb_size")
//remove all
self?.amRequest.customTargeting?.removeAll()
print("Prebid demand fetch for AdManager \(resultCode.name())")
self?.amBanner.load(self?.amRequest)
} Android: adUnit.fetchDemand(request, new OnCompleteListener() {
@Override
public void onComplete(ResultCode resultCode) {
//add key/value
request.getCustomTargeting().putString("myKey", "my value");
//change value
request.getCustomTargeting().putString("hb_size", "new size");
//remove key/value
request.getCustomTargeting().remove("hb_size");
//remove all
request.getCustomTargeting().clear();
DemoActivity.this.resultCode = resultCode;
amBanner.loadAd(request);
refreshCount++;
}
}); What do you think ? |
@yoalex5 After discussing in our PMC meeting today, we all agreed to keep the bidder keys in an immutable object to mitigate the risk of the publisher accidentally modifying them. They can still take the extra step to copy the object to modify keys however this would be an extra step the publisher would have to perform and would need to be intentional. I have updated the requirements of the ticket to require an immutable object. |
|
Hi @yoalex5, which |
Hello @anwzhang
|
Looks good to me. |
Type of issue
Intent to implement
Description
The intent of this ticket is to provide publishers a hook for bid responses and expose an object containing all the prebid bid keys to the publisher. Today the Prebid SDK controls the request builder for the ad server, inferring either GAM or Mopub. The problems with our approach are the following:
Goals
Proposed Design
Existing flow
3rd Party Ad Server
Instream Video Support
Requirements
Technical proposal
A proof of concept was created in PR 304. The summary of the PR is the following:
Current fetchDemand
New fetchDemand
Example
In-Scope
Out of Scope
Prebid SDK Changes
Prebid Server OpenRTB Changes
N/A
Prebid Server Changes
Other information
The text was updated successfully, but these errors were encountered: