Here you will find all the info you need to integrate the various monetization tools OfferToro has to offer.


SDK version 5.2
Updated: October 26, 2021

3. OfferWall

  • Step 1. Implement your delegate.

    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
    For more information - Please check this page: