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(this@MyActivityContext, 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 is 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. Subscribing is highly recommended once initialization has succeeded.

// 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.

// When using HeliumSdk.start():
val skippedPartnerIds = mutableSetOf<String>()
// skippedPartnerIds.add("chartboost") // for example
HeliumSdk.start(context, myHeliumAppId, myHeliumAppSignature, HeliumInitializationOptions(skippedPartnerIds), heliumSdkListener)

Network Adapter Identifiers

NetworkIdentifier
AdColonyadcolony
AdMobadmob
Amazon Publisher Servicesamazon_aps
AppLovinapplovin
Meta Audience Networkfacebook
Digital Turbine Exchangefyber
Google Biddinggoogle_googlebidding
InMobiinmobi
IronSourceironsource
Mintegralmintegral
Panglepangle
Tapjoytapjoy
Unityunity
Vunglevungle
Yahooyahoo
MobileFusemobilefuse
Verveverve
HyprMXhyprmx