Migrate to LevelPlay Init API

Facilitate migration to the LevelPlay initialization API in your ironSource Android app by updating SDK initialization to support multiple ad unit APIs, including interstitial, banner, and rewarded ads.

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. Implement callbacks for initialization success and failure.
  2. Define the list of ad formats that require support from legacy ironSource API. This should include REWARDED. 
  3. Call the LevelPlay init API using the appKey, ad formats, and user ID if relevant.
    // Init the SDK when implementing the Multiple Ad Units Interstitial and Banner APIs, and Rewarded using legacy APIs 
    List<LevelPlay.AdFormat> legacyAdFormats = Arrays.asList(LevelPlay.AdFormat.REWARDED);
    LevelPlayInitRequest initRequest = new LevelPlayInitRequest.Builder(appKey)
                                    .withLegacyAdFormats(legacyAdFormats)
                                    .withUserId("UserID")
                                    .build();
    LevelPlayInitListener initListener = new LevelPlayInitListener() {
        @Override
        public void onInitFailed(@NonNull LevelPlayInitError error) {
            //Recommended to initialize again 
        }
        @Override
        public void onInitSuccess(LevelPlayConfiguration configuration) {
            //Create ad objects and load ads 
        }
    };
    LevelPlay.init(context, initRequest, initListener);
    // Init the SDK when implementing the Multiple Ad Units Interstitial and Banner APIs, and Rewarded using legacy APIs 

    val legacyAdFormats = listOf(LevelPlay.AdFormat.INTERSTITIAL,LevelPlay.AdFormat.REWARDED)
    val initRequest = LevelPlayInitRequest.Builder("AppKey")
                                        .withLegacyAdFormats(legacyAdFormats)
                                        .withUserId("UserId")
                                        .build()
    LevelPlay.init(context, initRequest, object: LevelPlayInitListener {
        override fun onInitFailed(error: LevelPlayInitError) {
            //Recommended to initialize again
        }
        override fun onInitSuccess(configuration: LevelPlayConfiguration) {
            //Create ad objects and load ads
        }
    })

LevelPlay Init Listeners

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

OnInitFailed – 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
APIinitinit
setUserIDShould be set as part of LevelPlayInitRequest builder
CallbacksonInitializationCompleteonInitSuccess
-onInitFailed

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.