Adobe Air Plugin Integration
Starting from Air SDK 33.1.1.779, you can export your AdobeAir project into an Android Studio project.
iOS version support is defined per network. ironSource ads and LevelPlay mediation supports iOS versions 11+, XCode version 15.2+.
Android operating systems version 4.4 (API level 19)+.ֿ
The download, use and access to the SDK is subject to the ironSource Platform Online Terms and Conditions. If you do not agree to the terms of ironSource Mobile SDK Publisher Online Terms & Conditions, do not download, access, or use the SDK, or the underlying services.
Step 1. Add the ironSource AIR Plugin to your Project
If you are upgrading from a previous version of the ironSource SDK, you must completely remove it from your project, otherwise it will cause issues with the update. We also recommend erasing older builds from test devices and making a new build.
LevelPlay provides two types of Integration:
- Standard Integration
- Gradle Integration
Gradle Integration
- Download the ANE
- Once you export your project to Android studio project, import the Android ironSource SDK and adapters via the gradle. Learn more.
- Use the same ANE to integrate the iOS SDK as in the standard integration.
Standard Integration
Complete the following steps to include the ironSource AIR ANE in your project:
- Download Adobe Air Plugin Version 8.1.0
- In Flash Builder, right click your project and go to Properties ➣ Flex Build Path ➣ Native Extensions.
- Click “Add ANE...” and add the ironSource Air Plugin ANE file.
- Right click on your project and go to Properties ➣ Flex Build Packaging ➣ Android/iOS ➣ Native Extensions and make sure that the ironSource Air Plugin ANE file is marked as “Package”.
File ➣ ActionScript Settings ➣ Library Path and add ironSource’s Air Plugin ANE file.
Unity LevelPlay Demo App
The Integration Demo application demonstrates how to integrate Unity LevelPlay in your app.
Download Adobe Air Demo Application
Step 2. Add onPause/onResume & SDK Imports
- During the Flex Application Lifecycle, listen for application activation and deactivation by adding onResume and onPause on the top of the file where you define all of the properties:
activate= "onResume()" deactivate="onPause()"
Implement the two functions as follows:
function onResume():void { IronSource.instance.onResume(); } function onPause():void { IronSource.instance.onPause(); }
You should call onPause/onResume each time the app is activated or deactivated.
- Import the following in your scripts to use the ironSource SDK:
<extensionID>com.ironsource.adobeair</extensionID>
<extensionID>com.ironsource.adobeair.identifier</extensionID>
<extensionID>com.ironsource.adobeair.apset</extensionID>
<extensionID>com.ironsource.adobeair.androidx</extensionID>
You can find below links for the supported ANEs:
Step 3. Update AndroidManifest.xml
To use the ironSource SDK on Android, add relevant code to the AndroidManifest.xml:
- Add the following to your AndroidManifest.xml:
- Manifest Permissions:
Add the following permissions to your Application Descriptor.xml file inside the manifestAdditions tag but outside the <application> tag:<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- Manifest Activities:
Add the following activities inside the <application> tag on your manifestAdditions:
<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" /> <activity android:name="com.ironsource.mediationsdk.testSuite.TestSuiteActivity" android:configChanges="orientation|screenSize" android:hardwareAccelerated="true" android:theme="@android:style/Theme.NoTitleBar" /> <provider android:name="com.ironsource.lifecycle.IronsourceLifecycleProvider" android:authorities="${applicationId}.IronsourceLifecycleProvider" />
- Make sure to add the following extensions according to the networks you are using:
Android:
<extensions> <extensionID>com.ironsource.adobeair</extensionID> <extensionID>com.ironsource.adobeair.identifier</extensionID> <extensionID>com.ironsource.adobeair.apset</extensionID> <extensionID>com.ironsource.adobeair.androidx</extensionID> <!-- AdMob Adapter Extension--> <extensionID>com.ironsource.adobeair.admob</extensionID> <extensionID>com.ironsource.adobeair.google</extensionID> <extensionID>com.ironsource.adobeair.googlebase</extensionID> <!-- AppLovin Adapter Extension--> <extensionID>com.ironsource.adobeair.applovin</extensionID> <extensionID>com.ironsource.adobeair.applovinsdk</extensionID> <!-- Facebook Adapter Extension--> <extensionID>com.ironsource.adobeair.facebook</extensionID> <extensionID>com.ironsource.adobeair.fbaudiencenetwork</extensionID> <!-- DT Exchange Adapter Extension--> <extensionID>com.ironsource.adobeair.fyber</extensionID> <extensionID>com.ironsource.adobeair.fybersdk</extensionID> <!-- Mintegral Adapter Extension--> <extensionID>com.ironsource.adobeair.mintegraladapter</extensionID> <extensionID>com.ironsource.adobeair.mintegralsdk</extensionID> <!-- Unity Ads Adapter Extension--> <extensionID>com.ironsource.adobeair.unityads</extensionID> <extensionID>com.ironsource.adobeair.unityadssdk</extensionID> <!-- Vungle Adapter Extension--> <extensionID>com.ironsource.adobeair.vungle</extensionID> <extensionID>com.ironsource.adobeair.vunglesdk</extensionID> </extensions>
iOS:
<extensions> <extensionID>com.ironsource.adobeair</extensionID> <!-- AdMob Adapter Extension--> <extensionID>com.ironsource.adobeair.admob</extensionID> <extensionID>com.ironsource.adobeair.googlemobileads</extensionID> <!-- AppLovin Adapter Extension--> <extensionID>com.ironsource.adobeair.applovin</extensionID> <extensionID>com.ironsource.adobeair.applovinsdk</extensionID> <!-- Facebook Adapter Extension--> <extensionID>com.ironsource.adobeair.facebook</extensionID> <extensionID>com.ironsource.adobeair.fbaudiencenetwork</extensionID> <!-- DT Exchange Adapter Extension--> <extensionID>com.ironsource.adobeair.fyber</extensionID> <extensionID>com.ironsource.adobeair.fybersdk</extensionID> <!-- Mintegral Adapter Extension--> <extensionID>com.ironsource.adobeair.mintegraladapter</extensionID> <extensionID>com.ironsource.adobeair.mintegralsdk</extensionID> <!-- Unity Ads Adapter Extension--> <extensionID>com.ironsource.adobeair.unityads</extensionID> <extensionID>com.ironsource.adobeair.unityadssdk</extensionID> <!-- Vungle Adapter Extension--> <extensionID>com.ironsource.adobeair.vungle</extensionID> <extensionID>com.ironsource.adobeair.vunglesdk</extensionID> </extensions>
- Manifest Permissions:
Step 4. Apply iOS 10 App Transport Security Settings (iOS Only)
Important! In iOS 9+, Apple has added in controls around ‘ATS’. In order to ensure uninterrupted support for ironSource Ad delivery across all Mediation Networks, it’s important to add the following changes in your *-app.xml file:
<iPhone> <InfoAdditions> <![CDATA[ <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true /> </dict> ]]> </InfoAdditions> </iPhone>
Step 5. Initialize the Ad Units
If you’re using server-to-server callbacks to reward your users with our rewarded ad units, you must set the UserID.
You can initialize the SDK in two ways. We recommend the first method as it will fetch the specific ad units you define.
This method will init the specific ad units mentioned in the adUnits parameter as an Array:
IronSource.instance.init(YOUR_APP_KEY, [IronSource.REWARDED_VIDEO, IronSource.INTERSTITIAL,IronSource.BANNER]);
When using this init approach, you can now initialize each ad unit separately at different touchpoints in your app flow in one session.
//To init Rewarded Video IronSource.instance.init(YOUR_APP_KEY, [IronSource.REWARDED_VIDEO]); //To init Interstitial IronSource.instance.init(YOUR_APP_KEY, [IronSource.INTERSTITIAL]); //To init Banners IronSource.instance.init(YOUR_APP_KEY, [IronSource.BANNER]);
Alternatively, you can init the SDK as detailed below and the SDK will init the ad units you’ve configured on the ironSource platform:
IronSource.instance.init(YOUR_APP_KEY);
Init Complete Callback
The ironSource SDK fires callback to inform you that the ironSource SDK was initialized successfully, for ironSource SDK 7.2.1+ . This listener will provide you an indication that the initialization process was completed, and you can start loading ads. The callback will be sent once per session, and will indicate the first initialization of the SDK.
IronSource.instance.addEventListener("InitializationComplete", InitializationComplete);
private function InitializationComplete(event:Event):void {
//InitializationComplete
}
The default of this function is False; in the case you’d like to utilize it, you can activate it in the Init with the following string:
IronSource.instance.shouldTrackNetworkState(true);
Step 6. Verify Your Integration
The ironSource SDK provides an easy way to verify that your Rewarded Video Mediation integration was completed successfully. To verify your ironSource SDK integration as well as any additional Ad Networks you may have implemented, navigate to this article.
Done!
You are now ready to start working with the ironSource Ad Units and Mediation Tools.
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 Docs.