Adobe Air Plugin Integration

Before you start

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

  1. Download the ANE 
  2. Once you export your project to Android studio project, import the Android ironSource SDK and adapters via the gradle. Learn more.
  3. Use the same ANE to integrate the iOS SDK as in the standard integration.
Important! The standard integration will be deprecated in the next release.

Standard Integration

Complete the following steps to include the ironSource AIR ANE in your project:

  1. Download Adobe Air Plugin Version 8.1.0
  2. In Flash Builder, right click your project and go to Properties ➣ Flex Build Path  Native Extensions.
  3. Click “Add ANE...” and add the ironSource Air Plugin ANE file.
  4. 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”.
Note:  If you are using Flash Professional in your project, go to:
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

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

  2. 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:

Note: Make sure to include the Apset extensions and the AD_ID permission to be able to build successfully.

Step 3. Update AndroidManifest.xml

To use the ironSource SDK on Android, add relevant code to the AndroidManifest.xml:

  1. Add the following to your AndroidManifest.xml:
    1. 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" />
    2. 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" />

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

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

Important! ironSource supports optional SDK settings such as UserID and Segments that must be configured before you initialize the SDK. See our guide on Additional SDK Settings for setup instructions.

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
}
Note: ironSource SDK currently supports Network Change Status, which enables the SDK’s plugin to change the availability according to network modifications, i.e. in the case of no network connection, the availability will turn to FALSE.
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.