Initialize Mediation

Import the Mediation SDK

import com.chartboost.heliumsdk.HeliumSdk
import com.chartboost.heliumsdk.HeliumSdk;

Initializing the Mediation SDK and setting a HeliumSdkListener

Using the Mediation application ID and application signature from your dashboard, initialize the Mediation SDK:

HeliumSdk.start([email protected], myHeliumAppId, myHeliumAppSignature, heliumSdkListener)
HeliumSdk.start(MyActivityContext.this, myHeliumAppId, myHeliumAppSignature , heliumSdkListener);

Make sure the AppId and AppSignature are Mediation values obtained directly from the Mediation Dashboard for your app and not credentials from Chartboost or any other Ad Network.

In the above example we’re passing in the heliumSdkListener object to act as our HeliumSdkListener. Implementing the HeliumSdkListener interface allows you to receive notifications about the Mediation SDK’s initialization process:

val heliumSdkListener = object : HeliumSdk.HeliumSdkListener { error -> {
    error?.let {
        Log.d(TAG, "Helium SDK failed to initialize. Reason: ${it.message}")
    } ?: run {
        // SDK Initialized with no errors. 
        Log.d(TAG, "Helium SDK Initialized successfully")
    }
}
HeliumSdk.HeliumSdkListener heliumSdkListener = new HeliumSdk.HeliumSdkListener() {
    @Override
    public void didInitialize(Error error) {
        if (error != null) {
            Log.d(TAG,"Helium SDK failed to initialize. Reason: " + error.getMessage());
        } else {
            //SDK Started,
            Log.d(TAG,"Helium SDK initialized successfully");
        }
    }
};

The didInitialize method will be called when the SDK is ready to handle more calls. If the SDK initialized successfully, then proceed. If the error parameter is not null, it will state the reason why the SDK failed to initialize.

Advanced Settings

Initialization Metrics

The Mediation SDK contains an optional callback for receiving SDK initialization metrics in a JSON format. To utilize the API, use the following code snippets:

// In the HeliumSdkListener for init success:
val partnerInitializationResultsObserver = object : PartnerInitializationResultsObserver {
    override fun onPartnerInitializationResultsReady(data: PartnerInitializationResultsData) {
        // Data is available in data
    }
}
HeliumSdk.subscribeInitializationResults(partnerInitializationResultsObserver)

Network Kill Switch

The Mediation SDK initialization method has been expanded to take in optional initialization parameters. One of those parameters is a set of network adapter identifiers to skip initialization for the session.

🚧

Warning

Do not disable the Chartboost network or else the Mediation SDK will not initialize.

// When using HeliumSdk.start():
val skippedPartnerIds = mutableSetOf<String>()
// skippedPartnerIds.add("chartboost") // for example
HeliumSdk.start(context, appId, appSignature, HeliumInitializationOptions(skippedPartnerIds)) {}