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.4
Swift SDK v1.4
iOS Unity Plugin v1.4
iOS Cocos2d-x v1.4
iOS Cocos2d-iPhone v1.4
Buzztouch v1.4

AdTapsy SDKs for Android:

Android SDK
v1.4
Android Unity Plugin v1.4
Android Cocos2d-x
Buzztouch v1.4

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

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.dylib (Required)
libz.dylib (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");
    }
}

Now your project should build successfully and run.

Click here for Advanced Integration (Optional)

10. 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];

11. 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

12. 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.