Test Suite

DT FairBid Test Suite allows you to check that your app is set-up properly and ready to mediate using DT FairBid mediation. DT FairBid Test Suite enables you to verify that the mediated networks you chose for the app are fully integrated, that Placements and Instances are set-up as expected and that ads are served successfully.

Showing the Test Suite

Showing the Test Suite is easy. Simply import the FairBidSDK/FairBid.h header and call the following:

Objective-C Swift
[FairBid presentTestSuite];

Make sure you have initialized the SDK before calling this.

Once you have launched DT FairBid Test Suite, you are presented with the main screen that contains 2 sections:

  • Mediated Networks Integration Status
    To test that all selected mediated networks are properly integrated and ready to serve ads.
  • Placements
    To test that all configured Placements and Instances in the Console are properly set-up and run as expected by DT FairBid's auction on a real-time ad request to your test device.

Mediated Networks Integration Status

The main screen of the Test Suite gives you an immediate idea of your mediated network's integration status. If the screen you see is green and shows a Successful Integration, congratulations! Scroll down to Testing Mediation Placements.

If the screen you see is red, displaying an Unsuccessful Integration, then it means some issues have been encountered with the integration of the mediated networks. It is recommended to fix these issues before going live with your app. Tap the red square for more information and to view the errors.

Successful Integration Unsuccessful Integration
IMG_4982_copy.png IMG_4982.png

Troubleshooting Integration Errors

Integrating a mediated network can be tricky and a lot of different issues might occur during this process. Find below a list of issues the Test Suite can help you identify and how to fix them.

Missing SKAdNetwork IDs (iOS)

Issue Description Suggested Fix
To allow attribution using SKAdNetwork, demand partners must register with Apple. Developers must configure their apps to work with ad networks, by specifying SKAdNetwork IDs.
Per Apple’s SKAdNetwork documentation, you must include these IDs in the app’s Info.plist file.
The Supported Networks Table allows you to select each network that you have integrated and produces the snippet for you to insert into the Info.plist You can also use the SKAdNetwork ID Auto Updater tool to manage SKAdNetwork IDs directly from XCode or Unity Editor -ensuring the list you have is always automatically updated.

Not Configured in the Console

Issue Description Suggested Fix
The DT FairBid SDK requires the mediated ad networks to be enabled in the console. If the Test Suite mentions that a network is not configured on the console it means you might have forgotten to enable it and configure it for your application on the console.
To fix this issue, refer to the documentation on how to integrate that specific network into your project.

Missing Credentials

Issue Description Suggested Fix
For the mediation stack of the DT FairBid SDK to work, the SDK needs to have access to your credentials for the different networks you integrate. If the Test Suite mentions that a network is missing credentials, it means the network was not configured with credentials in the console.
To fix this issue, go to the console and make sure you have credentials for the relevant network.

Testing Mediated Networks Instances

Your mediated networks are now successfully integrated and ready to work with the DT FairBid SDK. You can use the Test Suite to make sure you can request and show ads from them, using the Instances configured in the console.

To do this:

  1. Tap the green square on the main screen
  2. Select the network you want to interact with from the list of networks.
  3. Find the list of Instances that are used throughout your app.
    The Instances split into two different sections, the Mediation Placements (waterfall Instances) and the Programmatic Mediation Placements (bidding Instances). 

Waterfall Instances

This section lists all of the waterfall Instances which are configured in the console and used throughout your app. You can request and show ads for these Instances using the Request and Show buttons.

Bidding Instances

This section lists all the bidding Instances configured in the Console and used throughout your app.


The Placements section of the Test Suite provides you with advanced capabilities. You can test that the placements you set up for the app in the console perform as expected.

Tap the Placements section of the main screen to:

  • Verify that Placement’s Instances setup is applied correctly according to the setup in Console
  • See the actual order of a Placement’s Waterfall Instances taking into consideration the CPM predicted values by the DT FairBid algorithm for Instances you chose to set Auto CPM in Console
  • Request an ad for a Placement and see in real-time how the DT FairBid auction runs through the waterfall and bidding Instances, and chooses a winner

Verify Placement Instance Set-Up

To see the configured Placements for your app and verify each Placement setup:

  1. Tap the Placement section of the main screen (the blue square)
  2. On the next screen, all the Placements configured for your app including the Placement name, ID and Type are displayed

To see Placement and Instance setup:

  1. Tap on a Placement
  2. Scroll down to see the bidding Instances set for the Placement
IMG_4984.png IMG_5005.png IMG_5006.png

For each Instance, the following information is displayed:

  • Mediated Network name
  • Instance ID as was received when creating the Instance on the mediated network's dashboard and was set in the Console
  • Predicted CPM Value - If the Instance is set with an Auto CPM, the predicted value by DT FairBid’s algorithm is displayed. If the Instance is set with Manual CPM, the Manual CPM value is displayed in bold, alongside the predicted value by DT FairBid’s algorithm if this method was chosen. The Instance is positioned in the waterfall by the CPM values in bold

Running the DT FairBid Auction

To run the DT FairBid auction and verify that the placement delivers ads successfully and instances are being called as expected tap the Request (Show for banner placements) button.

Once you tap the Request button, the DT FairBid auction starts running. First looking for an available ad from the Waterfall instances and then proceeding to the bidders’ auction looking for a bid higher than the Placement floor price or the winning Waterfall instance price.

The Auction status is displayed in the bottom section of the screen while the auction is running. Once the auction ends, the winning Instance is displayed. To view the winning ad, tap Show

IMG_5008.png IMG_5007.png

Waterfall Instance Responses

Response Description
Screen_Shot_2021-05-26_at_14.37.43.pngRequesting Requesting an ad for the Instance
Screen_Shot_2021-05-26_at_14.38.53.pngFill Instance replied with an ad available to display
Screen_Shot_2021-05-26_at_14.39.14.pngNo Fill Instance replied with no ad available to display
Screen_Shot_2021-05-26_at_14.39.36.pngInstance Timeout Instance did not respond in the allotted time, but the SDK is still waiting for a response
Screen_Shot_2021-05-26_at_14.40.00.pngFailure Any failure related to this Instance request: adapter failure, error or capped.


Requesting an ad can sometimes fail for many reasons. Below is a list of possible problems to check that can help you get an ad:

Problem Resolution
Console Credentials Make sure you are using the right credentials and mediation placements
Console Logs Mediated ad networks sometimes log tips in the console on how to get ads
Network Documentation Mediated ad networks often provide tips on how to get fills, like specifying test devices through their SDK’s APi (e.g. AdMob) or enabling Test Ads for certain placements (e.g. AdColony)

Caching Mechanism

To start as quickly as possible, the DT FairBid SDK implements a caching mechanism of the console configuration. As a result, you might experience some delay between the moment where you change your console configuration and the moment where the changes are reflected in the SDK.

To mitigate this issue, we advise you to fix as many issues at once and to delete and reinstall your application after every change in the console.

Back to Top ⇧