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



SDK version 3.6
Updated: Oct 13, 2017

7. Videolab

VideoLab allows your users to get rewarded for watching videos and content 24/7.

Each 10-15 minutes being watched rewards your user once, at which point - a new session start automatically.

Currently, VideoLab is only available for users from United States. We advice not to display it to users from other countries.

For further details, please contact your account manager.

  • Step 1. Implement your delegate

    The OfferToro SDK gives a possibility to be notified of events happening in the VideoLab 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)onOTVideolabSessionCreateSuccess:(NSNumber *)completion;

    // invoked when VideoLab is successfully initialized and the user has successfully created a VideoLab session. The completion is a number between 0 and 100 indicating last saved point in previous session

    - (void)onOTVideolabSessionCreateFail;

    // invoked when user failed to create a VideoLab session

    - (void)onOTVideolabSessionFulfill:(NSNumber *)completion;

    // notify how far the user is from completion

    - (void)onOTVideolabSessionCompleted;

    // invoked when a user successfully completed one Videolab session, and should be rewarded

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

    // invoked when Videolab encounters a fatal error

    - (void)onOTVideolabLog:(NSString *)message;

    // invoked to notify Videolab events

  • Step 2. Configure the VideoLab module

    The VideoLab module should be initialized on the application launch.


    [[OfferToro sharedInstance] initVLWithAppId:APP_ID userId:USER_ID secretKey:SECRET_KEY];


    OfferToro.sharedInstance()?.initVL(withAppId: APP_ID, userId: USER_ID, secretKey: SECRET_KEY)


    • - 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.
    • If you are using OfferWall and want this VideoLab view controller to work , please follow the OfferWall documentation how to implement (via initializing and implementing delegates if needed), otherwise VideoLab offers will be showing in a separate OS webview as it always was earlier.
  • Step 3. Present VideoLab content

    To present the VideoLab content,the presentVLInViewController method should be called:


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


    OfferToro.sharedInstance()?.presentVL(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

    To get notified on VideoLab session completions, use the onOTVideolabSessionCompleted delegate as explained in section 1.

    Server-to-Server postback

    Server to Server postbacks is a more secured way to receive notifications, in order to rewarded 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: