Frequently Asked Questions

Here are some common questions we get with integrating the Tapdaq iOS SDK

1. How to automatically reload ads?

Tapdaq supports automatic loading of the ads after you have presented an ad. Turning this on will make Tapdaq SDK load the next ad as soon as an ad is closed. This feature can be enabled the following way:

Objective-C
Swift
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    TDProperties *tapdaqProps = [[TDProperties alloc] init];

    tapdaqProps.autoReloadAds = YES;

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

    return YES;
}

2. Is there a way to check whether Tapdaq is initialised?

Yes, Tapdaq has a isInitialised property. I the property is set to YES this indicates that Tapdaq SDK has received all configuration from the back-end and initialised all add networks.

Objective-C
Swift
if ([[Tapdaq sharedSession] isInitialised]) {
    // Tapdaq has initialised. You can now load ads.
} else {
    // There was something wrong with Tapdaq initialisation.
    // Loading ads will most likely fail.
}

3. How do the GDPR settings work?

As of Tapdaq iOS SDK 6.2.2/6.2.3 there are additional flags to set when initialising Tapdaq or updating afterwards. These relate to the EU GDPR rules, where the developer must aquire the users consent to use their data, most ad networks require this information to provide personalised ads.

There are 2 BOOL flags to set (if known): isConsentGiven, isAgeRestrictedUser.

There is also one enum flag userSubjectToGDPR of type TDSubjectToGDPR

Tapdaq will accept any state TDSubjectToGDPRNo, TDSubjectToGDPRYes, TDSubjectToGDPRUnknown. If this flag is not set default value is TDSubjectToGDPRUnknown

For users in the EU a userSubjectToGDPR flag is requested on initialisation, when set to TDSubjectToGDPRYes, consent (if set) will be forwarded to the ad networks, if not set, or set to TDSubjectToGDPRNo consent will not be sent to any network.

Some networks (AdColony, InMobi, TapJoy) also take this flag as a parameter, so it is recommended that it is either set to TDSubjectToGDPRYes or TDSubjectToGDPRNo if it is known where the user is. If not set, nothing will be sent.

isConsentGiven either YES or NO will be passed to networks where the userSubjectToGDPR is TDSubjectToGDPRYes.

The isAgeRestrictedUser is sent to AppLovin & YouAppi, for EU users this is when users are under 16, for US users it is under 13. Set this if it is known.

Example

Initialisation

Objective-C
Swift
TDProperties *tapdaqProps = [[TDProperties alloc] init];
tapdaqProps.userSubjectToGDPR = TDSubjectToGDPRYes; //GDPR declare if user is in EU
tapdaqProps.isConsentGiven = YES; //GDPR consent must be obtained from the user
tapdaqProps.isAgeRestrictedUser = YES; //Is user under 16 (Used by AppLovin & YouAppi)

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

After Initialisation

Objective-C
Swift
[Tapdaq sharedSession].userSubjectToGDPR = TDSubjectToGDPRYes;
[Tapdaq sharedSession].isConsentGiven = YES;
[Tapdaq sharedSession].isAgeRestrictedUser = YES;

NOTE: Its recommended that these params are set within initalisation, setting them afterwards is intended for when the states change or were unknown beforehand. For subsequent sessions, its expected that they're known.

Need help?

If you are having any problems integrating, feel free to contact us on [email protected] and we will be more than happy to help.