Skip to content
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

Instream Video - Tech Spec #332

Closed
ppuviarasu opened this issue Oct 12, 2020 · 6 comments · Fixed by #333
Closed

Instream Video - Tech Spec #332

ppuviarasu opened this issue Oct 12, 2020 · 6 comments · Fixed by #333

Comments

@ppuviarasu
Copy link
Collaborator

ppuviarasu commented Oct 12, 2020

Description

To expand on our video feature set in the Prebid SDK, we intend to add Instream video. Instream video will be builtin addition to the previous video release to integrate into Google IMA SDK.

Goals

Add instream support to allow publishers to send instream bids from demand servers to Google Ad server

Proposed Design

Instream video will be a new ad unit sub-class of existing video ad unit:

  • Instream video:
    • config ID
    • adUnit Size

The expectation is the publisher will leverage the Google Interactive Media Ads render events outside the Prebid SDK:

  • IMAAdDisplayContainer: A container object where ads are rendered.
  • IMAAdsLoader: An object that requests ads and handles events from ads request responses.
  • IMAAdsRequest: An object that defines an ads request. Ads requests specify the URL for the VAST ad tag, as well as additional parameters, such as ad dimensions.
  • IMAAdsManager: An object that contains the response to the ads request, controls ad playback, and listens for ad events fired by the SDK.

Screen Shot 2020-10-19 at 3 06 48 PM

In-Scope

PrebidMobile will only support Google IMA SDK for the instream video. However we will provide API's that will provide the prebid keywords that a publisher can use to integrate with other adServer SDK's in future

Out of Scope

MoPub - We will not be supporting as the adServer doesnt provide Video AdUnit

Prebid SDK Changes

  1. Create Instream Video AdUnit
  2. Create 2 API's
    a. get the adServer object, fetch the demand & attach the keywords to the adServer Object

IOS

dynamic public func fetchInstreamDemandForAdObject(adObject: AnyObject, completion: @escaping(_ result: ResultCode, _ adServerURL:String?) -> Void)

b. fetch the demand & provide the keywords to the publisher to be used on any supported adserver objects

IOS

dynamic public func fetchDemand(completion: @escaping(_ result: ResultCode, _ prebidKeys:[String : String]?) -> Void)

Google IMA SDK Params

https://support.google.com/admanager/table/9749596?visit_id=637390614911711317-3535938911&rd=2
The adTagURL needs to be constructed using the above specs
eg: https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&" + "iu=/19968336/Punnaghai_Instream_Video1&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&" + "output=vast&unviewed_position_start=1&" + "cust_params=sample_ct%3Dlinear%26hb_uuid%3D92badf76-d94b-46f4-8a70-8124ab4092cc

The prebid keys are passed in the cust_params field

Prebid Server OpenRTB Changes

None

Prebid Server Changes

None

Other information

@ppuviarasu ppuviarasu changed the title Instream Video Instream Video - WIP Oct 12, 2020
@bszekely1
Copy link
Contributor

Will Prebid SDK hand off the Prebid bids to a video player who calls the ad server? Do you have a diagram how this will function?

@ppuviarasu
Copy link
Collaborator Author

The IMA sdk will take care of the rendering.

@bszekely1
Copy link
Contributor

Thanks for the update Punnaghai. I would recommend this work with both fetchDemand where we pass the keys off the publisher or set the Ad Server targeting automatically. This is the case where the publisher uses the video player to call the ad server, they would need to pass the keys to the video player.

@bszekely1
Copy link
Contributor

Additionally, would this be supported in the Mopub case?

@ppuviarasu
Copy link
Collaborator Author

Thanks for the update Punnaghai. I would recommend this work with both fetchDemand where we pass the keys off the publisher or set the Ad Server targeting automatically. This is the case where the publisher uses the video player to call the ad server, they would need to pass the keys to the video player.

Yes we are providing 2 API's to support both cases. The tech spec has the implementation details for both

@ppuviarasu
Copy link
Collaborator Author

Additionally, would this be supported in the Mopub case?

MoPub doesnt have video adUnit. they support only rewarded video

@ppuviarasu ppuviarasu changed the title Instream Video - WIP Instream Video - Tech Spec Oct 23, 2020
@bszekely1 bszekely1 added this to the 1.9 milestone Nov 12, 2020
@bszekely1 bszekely1 linked a pull request Nov 30, 2020 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants