This library supports the OpenRTB specification, providing bindings for all protobuf-supported languages, and additional support for Java such as JSON serialization and validation.
See our wiki to get started! Use the Github issue tracker for bugs, RFEs for any support.
You need: JDK 7, Maven 3.2, Protocol buffers (protoc) 2.6.1. Building is supported from the command line with Maven and from any IDE that can load Maven projects.
On Eclipse, the latest m2e is recommended but it can't run the code generation step, so you need to run a "mvn install" from the command line after checkout or after any mvn clean.
- Test coverage reviews.
- Logging updates, mostly avoiding multiline logs (bad for syslog).
- Removed error-prone from build, new version had some issues too.
- Support for Native Ads completed!
- Improvements in JSON support, esp. better compatibility with some OpenRTB-native exchanges and with OpenRTB 2.2 (thanks to github.com/matzi11a & Sojern).
(App/Site/User/Content).keywords
are now arrays in the model. They still map to a single, CSV-format string in the JSON.- The macro
${AUCTION_PRICE}
is not anymore translated to the bid price; this was a bug, this macro will proceed untouched (OpenRTB-native exchanges are supposed to expand it). - Updated to latest error-prone; now Maven build works with JDK 8!
- Partial support for OpenRTB 2.3! The missing item is Native ads, which depends on the OpenRTB Native 1.0 spec (proposed final draft at this time). This support will come in a future update.
- Breaking change: The
Flags
enum was replaced by simple booleans. - Breaking change: Renamed
DirectDeal
to justDeal
(to better match the spec, although object names are not really standardized). - New fields added (OpenRTB 2.3):
BidRequest.test
Site.mobile
Device
:w
,h
,pxratio
,ppi
,hwv
,lmt
Bid
:cat
,bundle
Geo.utcoffset
- Other fields added (missing from OpenRTB 2.2):
Device
:ifa
,macsha1
,macmd5
Impression
:secure
Video
:protocols
(the fieldprotocol
was deprecated; in the API it's renameddeprecated_protocol
, JSON will be compatible)BidResponse
:nbr
- Updated to Protocol Buffers 2.6.1 (bugfix, doesn't require rebuilds).
- Updated to Protocol Buffers 2.6.0. Full rebuild recommended, the code generated by protoc 2.6.0 is NOT 100% compatible with 2.5.0.
OpenRtbUtils.filterBids()
now usesBid.Builder
instead ofBid
.
- Javadocs for thead safety.
- Update Guava and Jackson libraries.
OpenRtbMapper
interface improved, supports all possible mappings.ProtoUtils.filter()
optimized, benefitsOpenRtbUtils.filterBids()
.
OpenRtbJson
API review and javadocs.OpenRtbValidator
reviews, improved logging.
- Fix floating-point fields to double precision.
- Remove dependencies jackson-databind, jackson-annotations.
- Build system improvements (Maven, Eclipse, NetBeans).
- Initial Open Source release.