Migrate to LevelPlay Init API

Transition to the LevelPlay initialization APIs to support multiple ad unit APIs, starting from SDK version 8.4.0.

Read time 5 minutes

This guide explains how to transition to the LevelPlay initialization APIs to allow the use of multiple ad unit APIs.

Prerequisites

The minimum supported SDK is 8.4.0. You can download the latest SDK here.

Initialize the SDK

To initialize the ironSource SDK, follow these steps:

  1. Define the list of ad formats that require support from legacy ironSource API. This should include REWARDED.
  2. Call the LevelPlay init API using the appKey, ad formats, and user ID if relevant.
  3. Define the completion handler success and failure.
    // Create a request builder with app key and ad formats. Add User ID if available.
    LPMInitRequestBuilder *requestBuilder = [[LPMInitRequestBuilder alloc] initWithAppKey:@"appKey"];
    [requestBuilder withLegacyAdFormats:@[IS_REWARDED_VIDEO]];
    [requestBuilder withUserId:@"UserId"];

    // Build the initial request
    LPMInitRequest *initRequest = [requestBuilder build];
    // Initialize LevelPlay with the prepared request
    [LevelPlay initWithRequest:initRequest completion:^(LPMConfiguration *_Nullable config, NSError *_Nullable error){
        if(error) {
            // There was an error on initialization. Take necessary actions or retry.
        } else {
        // Initialization was successful. You can now create ad objects and load ads.
        }
    }];
    // Create a request builder with app key and ad formats. Add User ID if available.
    let requestBuilder = LPMInitRequestBuilder(appKey: "appKey")
            .withLegacyAdFormats([IS_REWARDED_VIDEO])
            .withUserId("UserId")
    // Build the initial request
    let initRequest = requestBuilder.build()
    // Initialize LevelPlay with the prepared request 
    LevelPlay.initWith(initRequest) 
    { config, error in
        if let error = error {
            // There was an error on initialization. Take necessary actions or retry.
        } else {
            // Initialization was successful. You can now create ad objects and load ads.
    }
}

Initialization result

Success – triggered when the initialization is completed successfully. After you receive this indication, you can create and load the ad.

Error – the configuration was not retrieved successfully and ads cannot be loaded. It is recommended to try and initialize the ironSource SDK later (when internet connection is available, or when the failure reason is resolved)

LegacyAd Unit (new)
ClassIronSourceLevelPlay
APIinitWithAppKeyinitWithRequest
setUserIDShould be set as part of LPMInitRequestBuilder
CallbacksonInitializationCompletecompletion
-error

LevelPlay mediation demo app

The Integration Demo application demonstrates how to integrate the Ad Unit APIs in your app.

Download the relevant Demo Application

You can now implement the new ad units APIs.