openrtb icon indicating copy to clipboard operation
openrtb copied to clipboard

OpenRTB 2.6

Open SyntaxNode opened this issue 3 years ago • 6 comments

The final OpenRTB 2.6 specification was released earlier this month. I'm curious about the plans to add support in this library and if you're interested in assistance.

SyntaxNode avatar Apr 28 '22 18:04 SyntaxNode

Why not, feel free to PR.

2.6 Introduces Ad Pods for CTV transactions, a structured User-Agent object and other minor enhancements.

Maybe it wouldn't be too big of a code change as well.

If I'll get to it earlier - I'll write here not to work on the same thing. But don't think it happens till mid-May.

mxmCherry avatar Apr 29 '22 16:04 mxmCherry

I had some time and got a PR up. Turned out to be quite a bit involved.

SyntaxNode avatar May 13 '22 04:05 SyntaxNode

Note: relates to https://github.com/prebid/prebid-server/issues/2139

mxmCherry avatar May 19 '22 13:05 mxmCherry

Main effort done in linked PR.

Next steps:

  • [x] alpha (maybe beta) release(s) of this lib - pushed v16.0.0-alpha.1 -> v16 doc
  • [x] maybe some fixes or improvements when bumping in https://github.com/prebid/prebid-server (CC me on PR if you'll do it, maybe I'll spot smth in PBS diffs to improve in this lib)
  • [x] final 16.0.0 release of this lib

mxmCherry avatar May 19 '22 13:05 mxmCherry

OpenRTB 2.6 removes nearly all enumerated lists in favor of the enumerations in adcom1/openrtb3, which in turn were based on OpenRTB 2.5. In v16 of this library, this is represented with a removal of openrtb2 enums and replaced with adcom1/openrtb3 enums. I put together this chart to assist with upgrading.

v15 v16
openrtb2.AdPosition adcom1.PlacementPosition
openrtb2.APIFramework adcom1.APIFramework
openrtb2.CompanionType adcom1.CompanionType
openrtb2.ConnectionType adcom1.ConnectionType
openrtb2.ContentContext adcom1.ContentContext
openrtb2.ContentDeliveryMethod adcom1.DeliveryMethod
openrtb2.CreativeAttribute adcom1.CreativeAttribute
openrtb2.DeviceType adcom1.DeviceType
openrtb2.ExpandableDirection adcom1.ExpandableDirection
openrtb2.FeedType adcom1.FeedType
openrtb2.IPLocationService adcom1.IPLocationService
openrtb2.IQGMediaRating adcom1.MediaRating
openrtb2.LocationType adcom1.LocationType
openrtb2.NoBidReasonCode openrtb3.NoBidReason
openrtb2.PlaybackCessationMode adcom1.PlaybackCessationMode
openrtb2.PlaybackMethod adcom1.PlaybackMethod
openrtb2.ProductionQuality adcom1.ProductionQuality
openrtb2.Protocol adcom1.MediaCreativeSubtype
openrtb2.StartDelay adcom1.StartDelay
openrtb2.VideoLinearity adcom1.LinearityMode
openrtb2.VideoPlacementType adcom1.VideoPlacementSubtype
openrtb2.VolumeNormalizationMode adcom1.VolumeNormalizationMode

SyntaxNode avatar Jun 21 '22 19:06 SyntaxNode

Looks like these changes are now used by prebid-server https://github.com/prebid/prebid-server/pull/2280 - I eyeballed the diff (but really, really quickly) and did not notice any weird workarounds there, so I assume that recent OpenRTB 2.6 changes are usable (API is convenient enough etc).

I'd prefer to do a final v16 release of this lib soon(ish) - in 1-2 weeks, maybe with https://github.com/mxmCherry/openrtb/issues/52 included if it's done soon. Looks like it can affect prebid-server, but I think adapting should be very simple (native1/request.Video seems to be just a subset of a fuller openrtb2.Video), feel free to comment on the Native Video issue as well.

mxmCherry avatar Jul 23 '22 14:07 mxmCherry

Released v16.0.0

mxmCherry avatar Aug 27 '22 09:08 mxmCherry