Comments (5)
This behavior has changed as a consequence of AdX's enforcement of SSL transport, which allowed us to offer non-encrypted fields for sensitive information since the entire message is now protected by HTTPS. For example, instead of using encrypted_advertising_id
, you can use the new field advertising_id
. (Or the constrained_usage_*
variants of both for COPPA requests, so it's actually 4 fields, only one will be present in any message.) The OpenRTB mapper will map all those fields identically, in this case to Device.ifa
.
I guess you are decrypting values that are not encrypted, this will certainly produce strange results. You can now just use these values directly without the decryption step. The DoubleClickCrypto
utility is being supported until we completely phase out support for plain HTTP, at least for the bid request data since you still need to decrypt winning prices.
from openrtb-doubleclick.
Thank you for your response. I checked advertising_id
and it's a 16 byte field, so it's again a 32 chars hexadecimal. Should I assume it's an IDFA/AAID without hyphens?
To clarify, I am expecting something like: 54f00b25-33cd-4b94-982d-c6737fc89031
and I am receiving like b494e73421fe4bcb988af60bcee8485c
(just format, not real examples)
from openrtb-doubleclick.
That's correct, AdX doesn't bother with the hyphens since the field is binary anyway in order to be as compact as possible. So the full story is that you get a Websafe-Base64-encoded string, which you can decode to get a 16-byte array which you can finally format as hexadecimal and insert hyphens in the proper positions if you need to match that to standard formatted IDFA/AAIDs.
BTW sorry for requiring two steps of conversions, it may seem simpler if ifa
was already populated with the hexadecimal representation (older versions of the library did that indeed). But we use Websafe-Base64 for every binary field because this choice is pervasive inside AdX; which means for example that all our logs, reports, etc., both internal (which TAMs can access) and in things exposed to users, will be using this representation for binary fields. So if we use a different representation here, this could make some support/debugging workflows more confusing. Not to mention that we're also implementing OpenRTB natively, and base64 is more compact than hex which is important on the wire.
from openrtb-doubleclick.
Whoa, please ignore the last paragraph above. We never used base64 here, this was something internal that was later fixed to use hexadecimal. (The OpenRTB spec of these fields is not specific, but examples use hex and it's also a de facto standard with other implementations so we're going with hex too.)
from openrtb-doubleclick.
Than you so much Osvaldo!
from openrtb-doubleclick.
Related Issues (20)
- DoubleClickCrypto not really threadsafe? HOT 4
- How to send response back to Adx from OpenRtb.BidResponse.Builder HOT 19
- Latest 1.3.1 release doesn't have DoubleClickOpenRtbMapper and other related mappers HOT 5
- billing_id in openrtb json is String and not Long HOT 6
- Incorrectly mapped device.geo.lat and lon HOT 2
- BidExtWriter and BidExtReader lacks support for 'attribute' field. HOT 3
- Upgrading to support openrtb-adx.proto v28 HOT 3
- [com.google.doubleclick.imp] how to change to "ext" in BidRequest HOT 1
- Imp.Pmp.DealExt no Extension in openrtb-doubleclick
- How to change format from json to protobuf when send response back to doubleclick ?
- Deal Object Extension
- want '{}' but I give [] in response (seatbid and bid params) ?use python send protobuf openrtb data
- Changelog information missing HOT 1
- maven-download-plugin CachedFileEntry issue. Fix or add description to ReadMe HOT 1
- How can I use doubleblick-core 1.5.16
- Timeline for the doubleblick-openrtb 1.5.16 maven release HOT 1
- Timeline for 2.0.2 (SKAdNetwork)
- [Docs] Possible outdated documentation HOT 1
- add support for golang decode price examples HOT 1
- DoubleClickMetadata automatic use HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openrtb-doubleclick.