Programmatic Mediation Sequence of Events
On app start, the Fyber SDK initializes your SDK.
When the publisher requests an ad, the Fyber SDK does not check the network’s SDK for a fill directly. Instead, the Fyber SDK sends an auction request to the Fyber Marketplace.
Fyber Marketplace runs its RTB auction, sending an OpenRTB request to the network’s bidder endpoint. At the same time, Fyber Marketplace checks the prices for the traditional mediation and other buyers that do not compete in the RTB auction (more details can be found here).
In this bid request, along with the standard OpenRTB parameters, Fyber Marketplace passes the ad network its own custom identifiers to help it identify exactly which of the App and Placement IDs this request is related to.
These are the same identifiers that a publisher would use to initialize and request ads directly from the network’s SDK in a traditional mediation setup.
- If there’s no fill available at that time, please respond with no-bid
- If you do have fill available, you must respond within 300 Milliseconds to ensure your bid is eligible for the auction
- Your bid response must include the following:
- Bid id
- Bid price (in USD)
- ‘nurl’ (win notification URL)
- ‘burl’ (Billing notification URL)
- Ad creative metadata: creative ID, adomain, creative size (if relevant), adm*.
- If you win the auction:
- Fyber Marketplace fires a win notification along with the clear price to your ‘nurl’
- Fyber Marketplace passes the adm, bid id, creative id, and burl to the Fyber SDK
- When the Fyber SDK receives the response, it can optionally pass the aforementioned parameters to your SDK as needed. At this time, your SDK should complete the caching/downloading of any related creative. Your creative should become available for display within 2 seconds after this point
- When the publisher attempts to show an ad, the Fyber SDK calls the show method of your SDK. Render your creative to the screen at this time. Fyber also fires the burl at this time. Any creatives that fail to show are billed.
- The ad markup (‘adm’) field is handed over to your SDK. Therefore, you can pass standard ad markup in the adm field, or any custom identifier that your SDK may require to locate the relevant creative.