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).keywordsare 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
Flagsenum was replaced by simple booleans. - Breaking change: Renamed
DirectDealto justDeal(to better match the spec, although object names are not really standardized). - New fields added (OpenRTB 2.3):
BidRequest.testSite.mobileDevice:w,h,pxratio,ppi,hwv,lmtBid:cat,bundleGeo.utcoffset
- Other fields added (missing from OpenRTB 2.2):
Device:ifa,macsha1,macmd5Impression:secureVideo:protocols(the fieldprotocolwas 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.Builderinstead ofBid.
- Javadocs for thead safety.
- Update Guava and Jackson libraries.
OpenRtbMapperinterface improved, supports all possible mappings.ProtoUtils.filter()optimized, benefitsOpenRtbUtils.filterBids().
OpenRtbJsonAPI review and javadocs.OpenRtbValidatorreviews, 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.