-
Notifications
You must be signed in to change notification settings - Fork 93
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
PB SDK ORTB issues #1017
Comments
|
How would they do that and merge to an existing imp object in the array? We tried and it ended up creating a new imp object. |
@bretg I guess I didn't realize this would be wanted/needed until now. I thought previously we had just discussed when merging JSON arrays that we would just add to end and remove dupes. I assume that the imp id's are unique? I will create a check that if we are looking at changing an impression, check and see if any of the id's match and then merge those. |
It's pretty unfriendly to make the caller figure out the imp.id. We need the imp-level ORTB merge. |
Is there a unique identifier to be able to tell which imps need to be merged? Or do you want it merged into every imp? |
The "AdUnit" object translates to an imp object... any method on that object should be able to put the results in the right location. Let's step back. I'll re-state the original requirements:
To those requirements, I'll state a design consistency preference that global ORTB be treated similarly to other global parameters - i.e. that method should be on Targeting.shared. |
Hi @jono, @bretg, sorry, I remember that I promised to take a look at this ticket and provide implementation spec, but unfortunately, I didn't have the bandwidth. I'll do my best to accomplish it this week. However, as I told you before, it won't be a simple feature because Swift and JAVA, unlike js, don't manage the JSONs in a generic way. I don't support the implementation of merging, like merging "random" JSONs, which are basically random strings. We need to implement the merging of the internal RTB models (the model is already implemented in the SDK). So the SDK should deserialize arbitrary RTB param into the internal model, merge this model into the model built by SDK, and serialize the result into the JSON (build OpenRTB request) for the request. If SDK controls the structure and rules we will avoid such issues like invalid ids, etc. If it makes sense, I'll work on the details later this week. |
InvestigationI've been experimenting with the current implementation and we can adapt it if we don't want to work on the internal-model level. The current method For instance, the following code:
changes the request in the following way:
However, if we want to change the impression using the
The algorithm builds wrong requests. It adds a new object instead of modifying the existing one. And it also breaks the json (❗️). You can try the code snippet to reproduce the error. In any case, publishers can't use ObjectivesIn order to implement the requirements and keep the current approach (merging of random JSONs), we need to
|
Hi @YuriyVelichkoPI , @jsligh Is there an ETA for this change ? This would be really helpful to have. |
Hi @YuriyVelichkoPI , @jsligh Is it possible to update the banner.battr by using setOrtbConfig()? |
Describe the bug
Found a couple of issues while testing first party data (FPD) on PB SDK:
Expected behavior
Arbitrary ORTB should work as documented in https://docs.prebid.org/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#arbitrary-openrtb
The text was updated successfully, but these errors were encountered: