In order for us to know how we can best assist you, please select the best option that describes you

I have encountered a problem or didn't get my credit

I want to promote a product, website or app

I want to monetize my app or website

Instant manager

Remaining: 255 Maximum of 255 characters.

Terms and Conditions

Yes! You’re with us!

Thank you for choosing OfferToro! We will contact you shortly!

Already have an account? Log in

Password reset

Please enter your email address below

< Back to login


1. Introduction

The OfferToro iOS SDK gives iOS developers an easy way to integrate the OfferToro OfferWall module into their native iOS apps.

Before you can integrate our SDK into your projects, you must first create a publisher account and then create an app placement.

The OfferToro iOS SDK can be downloaded from your publisher account under SDK section.

Please make sure the monetization tool of the app you are using matches the required monetization tool of the integration. An integration with wrong monetization tool might not work.

2. Getting Started

2. Getting Started
OfferToro SDK supports iOS versions 8.0 and above.
To integrate the SDK into your project, please follow the simple steps described below:

Step 1. Add OffertoroSDK.framework to your project.
Step 2. Add OffertoroSDKResources.bundle to your project.

Verify that OffertoroSDKResources.bundle is displayed into Build Phases/Copy Bundle Resources section).
Step 3. Add required frameworks to your project:
Step 4. Add the following code into your project info.plist file:

<key> NSPhotoLibraryUsageDescription</key> <string>$(PRODUCT_NAME) uses Photo Library</string> <key>NSCameraUsageDescription</key> <string>$(PRODUCT_NAME) uses Camera</string> <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>

Step 5. Create Objective-C bridging header file (required for Swift project)
Objective-C bridging header file should be added to your project if it's developed in Swift.


The bridging header file will be generated automatically if you try to create a new Objective-C file into your Swift project. You will need to specify its location and proceed to editing the file.

3. OfferWall

Step 1. Implement your delegate.
Objective-C bridging header file should be added to your project if it's developed in Swift.

The OfferToro SDK gives a possibility to be notified of events happening in the OfferWall lifecycle via delegate OfferToroDelegate.


[OfferToro sharedInstance].delegate = YOUR_DELEGATE


OfferToro.sharedInstance()?.delegate = YOUR_DELEGATE

Your delegate will be notified of all possible events listed below:

- (void)offertoroOWInitSuccess;

// Invoked when OfferWall is successfully initialized

- (void)offertoroOWInitFail:(NSError *)error;

// Invoked when OfferWall initialization fails

- (void)offertoroOWOpened;

// Invoked when OfferWall is presented

- (void)offertoroOWClosed;

// Invoked when OfferWall is dismissed

- (void)offertoroOWCredited:(NSNumber *)amount totalCredits:(NSNumber *)totalCredits;

// Returns user’s balance (totalCredits) and the amount of credits earned (amount) by the user since the last update. However, it is not the precise way to calculate the user's balance. For a more robust way, please use the Server-to-Server postbacks instead. The user's balance could also be updated on demand at any time by calling getOWTotalCredits method (described in Step 4. Reward your users section below).

Step 2. Configure the OfferWall module
The OfferWall module should be initialized on the application launch.


[[OfferToro sharedInstance] initOWWithAppId:APP_ID userId:USER_ID secretKey:SECRET_KEY behaviorType:BEHAVIOR_TYPE];


OfferToro.sharedInstance()?.initOW(withAppId: APP_ID, userId: USER_ID, secretKey: SECRET_KEY, behaviorType:BEHAVIOR_TYPE)


- APP_ID and SECRET_KEY can be found in your OfferToro account, under your "App Placement" settings.
- USER_ID, is a parameter which should be passed from your end as an ID for each end user of your app. A common practice is to use the Advertising Identifier - IDFA. User IDs should be URL encoded.
- BEHAVIOR_TYPE is a parameter defining how should the OfferWall be opened in your application:
BehaviorTypeAllOut - OfferWall will be opened out of your application, using an external browser.
BehaviorTypeAllIn - OfferWall will be opened inside your application, offer clicks will be opened inside application, using an internal web view.
BehaviorTypeClickOut - OfferWall will be opened inside your application but the offer clicks will be opened outside of application, using an external browser.
In case the behaviorType parameter was not passed, default behavior is BehaviorTypeClickOut

Step 3. Present the OfferWall
To present the OfferWall, presentOWInViewController method should be called:


[[OfferToro sharedInstance] presentOWInViewController:VIEW_CONTROLLER animation:YES];


OfferToro.sharedInstance()?.presentOW(inViewController: VIEW_CONTROLLER, animation: true)

Step 4. Reward your users
OfferToro SDK supports two ways to reward your users. Those are:

1. Client-side postback
2. Server-to-Server postback
Client-side postback

User's balance and the amount of credits the user has recently earned are available via offertoroOWCredited delegate (described in Step 1. Implement your delegate section above). It can be updated on demand at any time by calling getOWTotalCredits method:


[[OfferToro sharedInstance] getOWTotalCredits];



Server-to-Server postback

Server to Server postbacks is a more secure way to receive notifications, in order to reward your users.
To receive Server to Server postbacks, you must define your postback URL in your App Placement under your OfferToro account