Adobe Air Plugin Integration
Starting from Air SDK 33.1.1.779, you can export your AdobeAir project into an Android Studio project.
This enables you to integrate the ironSource SDK through the Android Studio Gradle and update the native layer of the Android project.
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
LevelPlay provides two types of Integration:
- Standard Integration
- Gradle Integration
Standard Integration
Complete the following steps to include the ironSource AIR ANE in your project:
- Download Adobe Air Plugin Version 7.5.1
- 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.
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.
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.
- Implement the two functions as follows:
- 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>
Step 3. Update AndroidManifest.xml & Google Play Services (For Android Only)
To use the ironSource SDK on Android, add relevant code to the AndroidManifest.xml and integrate Google Play Services:
- 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” />
- Google Play Services
- The ironSource Plugin requires Google Play Services to make use of the Android Advertising Identifier. The easiest way to do this is to include ironSource’s Google play services ANE. Make sure to add Google Play Services info to your manifestAdditions:
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
- 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.admob</extensionID> <extensionID>com.ironsource.adobeair.google</extensionID> <extensionID>com.ironsource.adobeair.googlebase</extensionID> <extensionID>com.ironsource.adobeair.androidx</extensionID> <extensionID>com.ironsource.adobeair.adcolony</extensionID> <extensionID>com.ironsource.adobeair.adcolonysdk</extensionID> <extensionID>com.ironsource.adobeair.applovin</extensionID> <extensionID>com.ironsource.adobeair.applovinsdk</extensionID> <extensionID>com.ironsource.adobeair.unityads</extensionID> <extensionID>com.ironsource.adobeair.unityadssdk</extensionID> <extensionID>com.ironsource.adobeair.facebook</extensionID> <extensionID>com.ironsource.adobeair.fbaudiencenetwork</extensionID> <extensionID>com.ironsource.adobeair.fyber</extensionID> <extensionID>com.ironsource.adobeair.fybersdk</extensionID> <extensionID>com.ironsource.adobeair.mintegraladapter</extensionID> <extensionID>com.ironsource.adobeair.mintegralsdk</extensionID> <extensionID>com.ironsource.adobeair.vungle</extensionID> <extensionID>com.ironsource.adobeair.vunglesdk</extensionID> <extensionID>com.ironsource.adobeair.gson</extensionID> <extensionID>com.ironsource.adobeair.okhttp</extensionID> <extensionID>com.ironsource.adobeair.okio</extensionID> </extensions>
iOS:
<extensions> <extensionID>com.ironsource.adobeair.googlemobileads</extensionID> <extensionID>com.ironsource.adobeair.nanopb</extensionID> <extensionID>com.ironsource.adobeair.googleappmeasurement</extensionID> <extensionID>com.ironsource.adobeair.googlegutilities</extensionID> <extensionID>com.ironsource.adobeair.fblpromises</extensionID> <extensionID>com.ironsource.adobeair.googleusermessagingplatform</extensionID> <extensionID>com.ironsource.adobeair.adcolony</extensionID> <extensionID>com.ironsource.adobeair.adcolonysdk</extensionID> <extensionID>com.ironsource.adobeair.applovin</extensionID> <extensionID>com.ironsource.adobeair.applovinsdk</extensionID> <extensionID>com.ironsource.adobeair.unityads</extensionID> <extensionID>com.ironsource.adobeair.unityadssdk</extensionID> <extensionID>com.ironsource.adobeair.facebook</extensionID> <extensionID>com.ironsource.adobeair.fbaudiencenetwork</extensionID> <extensionID>com.ironsource.adobeair.fyber</extensionID> <extensionID>com.ironsource.adobeair.fybersdk</extensionID> <extensionID>com.ironsource.adobeair.mintegraladapter</extensionID> <extensionID>com.ironsource.adobeair.mintegralsdk</extensionID> <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 serving the Offerwall ad unit or 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.OFFERWALL,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 Offerwall IronSource.instance.init(YOUR_APP_KEY, [IronSource.OFFERWALL]); //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.