Managing ad availability is not easy. Keeping a balance between maximum ad availability while minimizing waste (network calls - which may affect user experience and data usage - and calls to mediated networks APIs - which may negatively impact eCPM if their inventory never gets to be shown to a user) can turn out to be harder than expected. In fact, often, it is simply guess work as you cannot predict ahead of time when a user will reach a moment in your application or game where it makes sense to show an Interstitial or offer the possibility to watch a Rewarded ad.
When you try to time your ad requests, this often results in not having a fill when you need it or having wasted fills that are never shown.
The DT FairBid SDK provides an “auto-request” feature to address this problem.
Global Auto-Request Setting
By default, DT FairBid SDK starts with auto-request enabled for all placements.
This means two things:
- When a user finishes watching an ad, DT FairBid immediately tries to replace that ad.
- When a certain placement has trouble obtaining a fill (no traditional mediated network has available inventory and no programmatic demand is bidding within a predetermined amount of time), DT FairBid continues trying to ensure that placement gets a fill by restarting the entire ad request process. This is performed in exponentially increasing time intervals to optimize the chances of getting a fill while minimizing usage of device resources.
We strongly recommend using the default behaviour of DT FairBid. However, you can choose to disable auto-request globally when you start the SDK:
FYBStartOptions *options = [[FYBStartOptions alloc] init]; options.autoRequestingEnabled = YES; [FairBid startWithAppId:@"1234" options:options];
let options = FYBStartOptions() options.autoRequestingEnabled = true FairBid.start(withAppId: "1234", options: options)
You can enable or disable auto-requests for individual placements at any moment before or after starting the SDK.
However, after you start the SDK, you cannot enable all placements (nor disable them) with a single API call. You must enable/disable each placement individually.
Starting from DT FairBid SDK 3.8.0, you can have increased control over the availability of each placement while offloading the ad availability management to DT FairBid SDK.
Even with auto-request enabled, you must request each placements you are interested in, at least once.
You can enable auto request for a specific placement using the following snippet:
If a user is past a stage in your app/game where a certain placement will never be shown again, you can disable auto-request for that particular placement to avoid waste: