Debugger

Display the debugger view

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

Objective-C
Swift
// Objective-C

[[Tapdaq sharedSession] presentDebugViewController];

The debugger view displays a list of installed adapters and their configuration statuses. The debugger will also show if wrong version of an adapter is installed in your app. By tapping into an adapter from this list, each of them can be tested individually.

The debugger also features Mediation debugging section. Here Tapdaq's mediation can be tested among configured networks.

Natives ads section allows Cross Promotion and Native ads features to be tested.

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

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 *tapdaqProps = [[TDProperties alloc] init];
...


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

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

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

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

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

Testing on simulator

Tapdaq SDK ships with two versions of the framework and the 3rd party network adapters.

Universal frameworks enable the SDK to be tested on the simulator as well as physical devices. These frameworks are located in the universal folder. However, before uploading .ipa to iTunes Connect, that uses universal frameworks, in the Build Phases section of your project, add the following Run Script phase before submitting to the App Store. If you do not follow this step your app will be rejected.

bash "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/Tapdaq.framework/strip-architectures.sh"

The second set of frameworks is located in the root folder. It does not require the aforementioned step before submission. However, these frameworks will not work while testing on the simulator.

Please do a clean install, or delete 'Derived data' folder before building.

What's next?

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