Debugging

Display the Debugger

The debugger view can be accessed by calling the following method:

Objective-C
Swift
// Objective-C

[[Tapdaq sharedSession] presentDebugViewController];

Be sure not to use the debugger in the production version of the app.

Using the Debugger

Mediate Section

This page allows you to test your integration as it would normally be used.

This allows you to show any type of add you have set up, and it will automatically select a network for you.

Adapters Section

Here is a list of all the networks available and the state they are in, selecting any of them will allow you to directly interact with that network for testing.

  • Green - Ready
  • Grey - Adapter disabled on the dashboard
  • Yellow - Initialising
  • Orange - Failed to initialise or initialisation timed out
  • Red - Wrong version of the adapter is being used

Adapters not included into the project will not appear in the list.

Adapter Page

Here you can directly test each network and see ads from them. Only the ad types appropriate for each network will be available.

  • Load button will request a new ad.
  • Show button will display an ad that has loaded (Load must be called first)

Tapdaq SDK, Adapter and Network SDK versions are also noted, the Tapdaq SDK & Adapter version MUST match.

Adapter Status
  • Ready: Network is Ready to use.
  • No configuration: Adapter is integrated, but has not been initialised or is not enabled on the dashboard.
  • Failed to load config: Failed to initialise for an unknown reason
  • Adapter version mismatch: Failed to initialised because the Adapter version does not match the Tapdaq SDK version.
  • Configuration timed out: Failed to initialise within the set timeframe (60 seconds)
  • Configuring...: Adapter is currently initialising.

Logging

TDProperties has a property logLevel which defines how fine-grained Tapdaq's logs are. There are five log levels available: Disabled, Error, Warning, Info, Debug.

Objective-C
Swift
// Objective-C

TDProperties *properties = [TDProperties defaultProperties];
properties.logLevel = TDLogLevelDebug;

...

// Initialise Tapdaq with properties
[[Tapdaq sharedSession] setApplicationId:@"YOUR_APP_ID"
                                   clientKey:@"YOUR_CLIENT_KEY"
                                  properties:properties];

Adding test devices

AdMob and Facebook Audience Network require test devices to display ads.

Devices ID's can be found in log messages shown in the Console of the Debug Area of Xcode when Tapdaq starts loading an ad from AdMob and Facebook, they look like this:

// iOS AdMob
<Google> To get test ads on this device, call: request.testDevices = @[ @"d3fsh152gbac80cbcf774dd4520a4696" ];

// iOS Facebook
[FBAudienceNetworkLog/FBAdSettings:133 thread:1] Test mode device hash: 0aaea61262f466eedc5efacf191bd33a321e676c

To add your test devices, update the initialisation code in your AppDelegate.m/AppDelegate.swift file by inserting device ID's from the above log messages like so:

Objective-C
Swift
// Objective-C
TDProperties *properties = [[TDProperties alloc] init];
...


TDTestDevices *amTestDevices = [[TDTestDevices alloc] initWithNetwork:TDMAdMob
                                                          testDevices:@[ @"d3fsh152gbac80cbcf774dd4520a4696", @"MY_OTHER_DEVICE_ID" ]];
[properties registerTestDevices:amTestDevices];

TDTestDevices *fbTestDevices = [[TDTestDevices alloc] initWithNetwork:TDMFacebookAudienceNetwork
                                                          testDevices:@[ @"0aaea61262f466eedc5efacf191bd33a321e676c", @"MY_OTHER_DEVICE_ID" ]];
[properties registerTestDevices:fbTestDevices];

[[Tapdaq sharedSession] setApplicationId:@"YOUR_APP_ID"
                               clientKey:@"YOUR_CLIENT_KEY"
                              properties:properties];

Build and run your application, you will now see test ads for AdMob/Facebook.

When testing Facebook Audience Network, the test device should have the Facebook app installed and logged in

What's next?

Now that you have successfully tested the ad networks that you wish to mediate, what would you like to do next?