Update to the Latest ironSource Android SDK
We’re excited to introduce the ironSource SDK 6.5+, with brand new features and significant enhancements. Following the SDK release, existing integrations of earlier SDK versions are outdated. Follow this guide to upgrade from earlier SDK versions to the latest ironSource SDK.
Step 1. Replace Supersonic Jar with the Latest SDK
ironSource supports both Gradle dependencies and manual download mechanisms to integrate our SDK.
- For Gradle
First, remove the following repositories and dependencies of Supersonic from your build.gradle file:
repositories { maven { url 'https://dl.bintray.com/supersonic/android-sdk' } }
dependencies { compile 'com.supersonic.sdk:mediationsdk:6.4.21@jar' }
Replace the above files with the following:
repositories { maven { url 'https://raw.githubusercontent.com/ironsource-mobile/android-sdk/master' } }
dependencies { compile 'com.ironsource.sdk:mediationsdk:6.7.0@jar' }
- For Manual Download
- Download the latest ironSource SDK here.
- Next, go to the lib folder in your project and delete the existing Supersonic jar. Add the ironSource SDK 6.X jar file to the lib folder.
Step 2. Update Manifest Activities
Replace the Supersonic Manifest Activities in your AndroidManifest.xml with the ironSource Manifest Activities.
Supersonic Manifest Activities:
<activity android:name="com.supersonicads.sdk.controller.ControllerActivity" android:configChanges="orientation|screenSize" android:hardwareAccelerated="true" /> <activity android:name="com.supersonicads.sdk.controller.InterstitialActivity" android:configChanges="orientation|screenSize" android:hardwareAccelerated="true" android:theme="@android:style/Theme.Translucent" /> <activity android:name="com.supersonicads.sdk.controller.OpenUrlActivity" android:configChanges="orientation|screenSize" android:hardwareAccelerated="true" android:theme="@android:style/Theme.Translucent" />
ironSource Manifest Activities:
<activity android:name="com.ironsource.sdk.controller.ControllerActivity" android:configChanges="orientation|screenSize" android:hardwareAccelerated="true" /> <activity android:name="com.ironsource.sdk.controller.InterstitialActivity" android:configChanges="orientation|screenSize" android:hardwareAccelerated="true" android:theme="@android:style/Theme.Translucent" /> <activity android:name="com.ironsource.sdk.controller.OpenUrlActivity" android:configChanges="orientation|screenSize" android:hardwareAccelerated="true" android:theme="@android:style/Theme.Translucent" />
Step 3. Update SDK Methods
We’ve standardized and updated all of our methods according to tech conventions, and replaced all Supersonic mentions with ironSource. In addition, you can now initialize your preferred ad units with a single init, preferably on application launch.
You’ll need to review and replace existing methods with the following:
General Methods (relevant for All Ad Units):
- New! setUserId
The UserID is a unique identifier for each user. You can set the userID parameter, or let us generate one for you. If you’re serving the Offerwall ad unit or server-to-server callbacks to reward your users with our rewarded ad units, you must set the UserID. Common practice is to use the GAID (Google Advertiser ID).
Note: Note: You must set the UserID parameter before the init request.IronSource.setUserId("UserID");
- AdvertiserId
Call this method to retrieve the device’s unique AdvertisingID:IronSource.getAdvertiserId(this);
- onPause
protected void onPause() { super.onPause(); IronSource.onPause(this); }
- onResume
protected void onResume() { super.onResume(); IronSource.onResume(this); }
- Ad Unit Initialization
You can initialize the SDK in two ways. We recommend the first method as it will fetch the specific ad units you define.- Init the specific ad units mentioned in the adUnits parameter, preferably oncreate:
IronSource.init(this, appKey, IronSource.AD_UNIT.OFFERWALL, IronSource.AD_UNIT.INTERSTITIAL, IronSource.AD_UNIT.REWARDED_VIDEO);
- Init the ad units you’ve configured on the ironSource platform SDK sync:
IronSource.init(this, appKey);
- Init the specific ad units mentioned in the adUnits parameter, preferably oncreate:
Ad Unit Listener Methods:
- Rewarded Video
IronSource.setRewardedVideoListener(mRewardedVideoListener);
- Interstitial
IronSource.setInterstitialListener(mInterstitialListener);
- Offerwall
IronSource.setOfferwallListener(mOfferwallListener);
Ad Unit Methods
- Rewarded Video
Replace the following Supersonic Methods:/** *Call to check ad availability */ mMediationAgent.isRewardedVideoAvailable(); /** *Call to show a rewarded video */ mMediationAgent.showRewardedVideo(); /** * Call to check if a placement is capped */ mMediationAgent.isRewardedVideoPlacementCapped("Your Placements");
With the ironSource Methods:
/** *Call to check ad availability */ IronSource.isRewardedVideoAvailable(); /** *Call to show a rewarded video */ IronSource.showRewardedVideo(); /** * Call to check if a placement is capped */ IronSource.isRewardedVideoPlacementCapped("Your Placements");
- Interstitial
Replace the following Supersonic methods:/** *Call to request an interstitial ad */ mMediationAgent.loadInterstitial(); /** *Call to show an interstitial ad */ mMediationAgent.showInterstitial(); /** *Call to check ad availability */ mMediationAgent.isInterstitialReady(); /** *Call to check if the placement is capped */ mMediationAgent.isInterstitialPlacementCapped("Placement");
With the ironSource Methods:
/** *Call to request an interstitial ad */ IronSource.loadInterstitial(); /** *Call to show an interstitial ad */ IronSource.showInterstitial(); /** *Call to check ad availability */ IronSource.isInterstitialReady(); /** *Call to check if the placement is capped */ IronSource.isInterstitialPlacementCapped("Placement");
- Offerwall
Replace the following Supersonic methods:/** *Call to check ad availability */ mMediationAgent.isOfferwallAvailable(); /** *Call to show Offerwall when user clicks the Offerwall button */ mMediationAgent.showOfferwall();
With the ironSource Methods:
/** *Call to check ad availability */ IronSource.isOfferwallAvailable(); /** *Call to show Offerwall when user clicks the Offerwall button */ IronSource.showOfferwall();
DynamicUserId (Only for Rewarded Video)
The Dynamic UserID is a parameter that can be changed throughout the session and will be received in the server-to-server ad rewarded callbacks. This parameter helps verify AdRewarded transactions and must be set before calling ShowRewardedVideo.
IronSource.setDynamicUserId("UserID");
Step 4. Update Callbacks
Lastly, you will need to update the Listener classes for the ad units you’d like to serve on your app .
Rewarded Video:
IronSource.setRewardedVideoListener(new RewardedVideoListener() { @Override public void onRewardedVideoAdOpened() { } @Override public void onRewardedVideoAdClosed() { } @Override public void onRewardedVideoAvailabilityChanged(boolean available) { } @Override public void onRewardedVideoAdStarted() { } @Override public void onRewardedVideoAdEnded() { } @Override public void onRewardedVideoAdRewarded(Placement placement) { } @Override public void onRewardedVideoAdShowFailed(IronSourceError error) { } });
Interstitial:
IronSource.setInterstitialListener(new InterstitialListener() { @Override public void onInterstitialAdReady() { } @Override public void onInterstitialAdLoadFailed(IronSourceError error) { } @Override public void onInterstitialAdOpened() { } @Override public void onInterstitialAdClosed() { } @Override public void onInterstitialAdShowSucceeded() { } @Override public void onInterstitialAdShowFailed(IronSourceError error) { } @Override public void onInterstitialAdClicked() { } });
Offerwall:
IronSource.setOfferwallListener(new OfferwallListener() { @Override public void onOfferwallAvailable(boolean isAvailable) { } @Override public void onOfferwallOpened() { } @Override public void onOfferwallShowFailed(IronSourceError error) { } @Override public boolean onOfferwallAdCredited(int credits, int totalCredits, boolean totalCreditsFlag) { return false; } @Override public void onGetOfferwallCreditsFailed(IronSourceError error) { } @Override public void onOfferwallClosed() { } });
Done! You just updated to the latest ironSource SDK!
You are now ready to start working with ironSource’s Ad Units and our advanced mediation platform.
What’s Next?
Once you’ve verified your integration with the Integration Helper, follow our integration guides and implement our Ad Units:
Interested in Mediation? Integrate our Rewarded Video or Interstitial Ads in your app and follow our Mediation articles.