You don't have account?

Create one or login and monetize 100% of your ad inventory for the highest earnings.

Step-by-step guide for AdTapsy SDK integration in a few minutes

Invite a Technical Teammate?
If you'd like to invite co-workers or an engineer to help with the integration, feel free to share this page with them.

1. First, choose your platform below:

AdTapsy SDKs for iOS:

iOS SDK v1.6
Swift SDK v1.6
iOS Unity Plugin v1.6
iOS Cocos2d-x v1.6
iOS Cocos2d-iPhone v1.6
Buzztouch v1.6

AdTapsy SDKs for Android:

Android SDK
v1.6
Android Unity Plugin v1.6
Buzztouch v1.6

iOS Objective-C Integration Guide

2. Download and extract AdTapsy iOS SDK

Download iOS SDK
I'm already done with integration.

3. Update from old SDK (Optional)

If you updating from an old AdTapsy SDK or if you have an old SDK versions of ad networks already bundled in AdTapsy, please remove them before adding the new one.

4. Drag & Drop AdTapsy SDK to project tree

Choose "Copy items into destination group's folder" and click Finish



Vungle SDK is not included in the bundle, if you want to use Vungle ads please download it and copy VungleSDK.embeddedframework to your project https://v.vungle.com/dev/ios

5. Linker Flags


Click Project -> Build Settings -> Search for other linker flags -> Add -ObjC like on screenshot

If your project is not using ARC, please add -fobjc-arc flag to be able to compile AdTapsy and ad networks SDKs.

6. Add Frameworks

Add required frameworks in Project options -> Active target -> Build Phases -> Link Binary With Libraries

StoreKit.framework (Required)
WebKit.framework (Required)
WatchConnectivity.framework (Required)
EventKit.framework (Required)
EventKitUI.framework (Required)
CoreData.framework (Required)
CoreMedia.framework (Required)
AudioToolbox.framework (Required)
AVFoundation.framework (Required)
CFNetwork.framework (Required)
CoreAudio.framework (Required)
CoreLocation.framework (Required)
CoreTelephony.framework (Required)
MediaPlayer.framework (Required)
MessageUI.framework (Required)
QuartzCore.framework (Required)
Security.framework (Required)
SystemConfiguration.framework (Required)
CoreGraphics.framework (Required)
UIKit.framework (Required)
Foundation.framework (Required)
libsqlite.3.0.tbd (Required)
libz.tbd (Required)
Social.framework (Optional)
StoreKit.framework (Optional)
WebKit.framework (Optional)
AdSupport.framework (Optional)
CoreBluetooth.framework (Optional)
Some of the frameworks are set to optional if you build for older iOS versions.

7. App Transport Security (ATS) - iOS 9

AdTapsy is compliant with ATS, however some of the ad networks still do not have compliant version of their SDK. It is recommended to disable ATS for now to have good fill rate from all ad networks. Add this code to your Info.plist file:

<key>NSAppTransportSecurity</key>
<dict>
	<key>NSAllowsArbitraryLoads</key>
	<true/>
</dict>
More for iOS 9 Support

8. Start session

Import AdTapsy.h in AppDelegate.m and start session with [AdTapsy startSession:@"55493ba0e4b0b1847622a42b"]; in didFinishLaunchingWithOptions method

#import "AppDelegate.h"
#import "AdTapsy.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Start AdTapsy session
    [AdTapsy startSession: @"55493ba0e4b0b1847622a42b"];
    return YES;
}

- (void)applicationWillTerminate:(UIApplication *)application
{
    // Destroy on terminate
    [AdTapsy destroy];
}

@end

9. Show Ads

#import "ViewController.h"
#import "AdTapsy.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    [AdTapsy setDelegate:self];
    [AdTapsy showInterstitial:self];
}

- (IBAction)showAd:(id)sender {
    if ([AdTapsy isAdReadyToShow]) {
        NSLog(@"Ad is ready be shown");
        [AdTapsy showInterstitial:self];
    } else {
        NSLog(@"Ad is not ready to be shown");
    }
}

When you want to show interstitial ad, use the code [AdTapsy showInterstitial: viewController];

Note: You need to pass active View Controller as parameter. Getting the active View Controller depends on your code. Check some examples::

#import "AppDelegate.h"
#import "AdTapsy.h"

@implementation AppDelegate

- (void)applicationDidBecomeActive:(UIApplication *)application
{
// Show ad when coming from background mode
    UIViewController * viewController = [[[[UIApplication sharedApplication] delegate] window] rootViewController];
    [AdTapsy showInterstitial: viewController];
}

@end

When you want to show rewarded video ad, use the code [AdTapsy showRewardedVideo: viewController];


- (IBAction)showAd:(id)sender {
    if ([AdTapsy isRewardedVideoReadyToShow]) {
        NSLog(@"Ad is ready be shown");
        [AdTapsy showRewardedVideo:self];
    } else {
        NSLog(@"Ad is not ready to be shown");
    }
}

10. General Data Protection Regulation (GDPR) Instructions

AdTapsy SDK requires that publishers set a flag indicating whether a user located in the European Union (i.e., EU/GDPR data subject)
has provided opt-in consent for the collection and use of personal data.
The consent is passed to all enabled ad networks SDKs, if consent is not granted by user, then ad networks will not show targeted ads, collect/process personal data, etc.
Call this methods before initialize AdTapsy.

[AdTapsy setUserSubjectToGdpr: (BOOL)]; // YES by default
[AdTapsy setConsentGrantedGdpr: (BOOL)]; // NO by default

If the user is non EU citizen:

[AdTapsy setUserSubjectToGdpr: NO];

If the user is EU citizen (i.e., EU/GDPR data subject) and consent granted:

[AdTapsy setUserSubjectToGdpr: YES];
[AdTapsy setConsentGrantedGdpr: YES];

If the user is EU citizen (i.e., EU/GDPR data subject) and consent not granted or declined:

[AdTapsy setUserSubjectToGdpr: YES];
[AdTapsy setConsentGrantedGdpr: NO];

Now your project should build successfully and run.

Click here for Advanced Integration (Optional)

11. Rewarded video settings

You can set the reward amount for networks that configure it in the code.
For the rest, you must set it in their dashboards.
[AdTapsy setRewardedVideoAmount:10];
If you are using server-side callbacks, you must set the user identifier
[AdTapsy setUserIdentifier: @"user1"];
If you want to use the networks default popups for rewarded video you can enable them
[AdTapsy setRewardedVideoPrePopupEnabled: YES];
[AdTapsy setRewardedVideoPostPopupEnabled: YES];

12. Handle SDK callbacks (optional)

To handle callbacks create and implement AdTapsyDelegate protocol.
//
//  ViewController.h
//
#import "AdTapsy.h"

@interface ViewController : UIViewController<ATLogDelegate, AdTapsyDelegate>
@end
Then in your implementation in the init method pass delegate object to AdTapsy and implement callback methods.
//
//  ViewController.m
//

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    [AdTapsy setDelegate: self];
}


-(void)adtapsyDidCachedInterstitialAd {
    NSLog(@"***adtapsyDidCachedInterstitialAd***");
}

-(void)adtapsyDidCachedRewardedVideoAd {
    NSLog(@"***adtapsyDidCachedRewardedVideoAd***");
}

-(void)adtapsyDidClickedInterstitialAd {
    NSLog(@"***adtapsyDidClickedInterstitialAd***");
}

-(void)adtapsyDidClickedRewardedVideoAd {
    NSLog(@"***adtapsyDidClickedRewardedVideoAd***");
}

-(void)adtapsyDidFailedToShowInterstitialAd {
    NSLog(@"***adtapsyDidFailedToShowInterstitialAd***");
}

-(void)adtapsyDidFailedToShowRewardedVideoAd {
    NSLog(@"***adtapsyDidFailedToShowRewardedVideoAd***");
}

-(void)adtapsyDidShowInterstitialAd {
    NSLog(@"***adtapsyDidShowInterstitialAd***");
}

-(void)adtapsyDidShowRewardedVideoAd {
    NSLog(@"***adtapsyDidShowRewardedVideoAd***");
}

-(void)adtapsyDidSkippedInterstitialAd {
    NSLog(@"***adtapsyDidSkippedInterstitialAd***");
}

-(void)adtapsyDidSkippedRewardedVideoAd {
    NSLog(@"***adtapsyDidSkippedRewardedVideoAd***");
}

-(void)adtapsyDidEarnedReward:(BOOL)success andAmount:(int)amount {
    NSLog(@"***adtapsyDidEarnedReward*** success: %d amount %d", success, amount);
}

@end

13. Testing mode (optional)

To enable test mode for AdMob and RevMob, use this before start session. For all other ad networks enable test mode via each ad network dashboard.
[AdTapsy setTestMode:YES andTestDevices: @[ @"Simulator", @"Google device ID" ]];
Note: Disable before publish on App Store.