Virtual Currency Settings

Virtual Currency settings are used to run rewarded ad units (Rewarded Video and Offerwall). Each time a user completes the advertiser’s offer, the user is rewarded with your in-app currency according to the conversion rate defined on your Supersonic dashboard in USD.

  1. The Virtual Currency fields cannot be left empty. If your app doesn’t need a virtual currency, or you are not serving rewarded ad units, you can leave the default values.
  2. Virtual currency can only be set for Offerwall ad unit. Rewarded video will be set with Virtual item.

Step 1. Select Your App & Rewarded Ad Unit

Navigate to MonetizeAd Units & Placements ➣ Select your app ➣ Choose Rewarded Video or Offerwall ad unit:


Step 2. Edit Reward Placement

You will see a DefaultRewardedVodeo or DefaultOfferwall placement that you can edit or you can add a placement by clicking  ‘New Placement‘. Click the ‘Edit’ icon to change the reward configurations.

1Then the following window will appear:

Currency Name
– The name of virtual currency defined on your Ad Placement. Select the currency you would like to edit.
Conversion Rate – The amount of virtual currency your user will get for every 1 USD ironSource pays you. Select the conversion rate.

• Default conversion rate is 1:100
• In the example above, the user will get 100 “credits’ for every 1 USD we pay you.


Your Offerwall is now set up with your defined virtual currency.

Server-to-Server Callback Settings

ironSource reward-based ad units support server-side events to notify you of rewards that must be granted to your users after successful ad completion events:

Note: You can also use client-side events to grant rewards to users after successful ad completion events.

Before you start Make sure you have implemented the server-to-server callback handlers in your code, as described here.

You can receive ad completion notifications via server-to-server callbacks. This is the recommended process if you are managing your application data via a back-end server. We will send a callback after each ad completion to notify your server of the reward type & amount you must grant your end user.

Enable Server-to-Server Callbacks on the ironSource Platform

  1. Log in to your ironSource account and navigate to the Monetize section in the left sidebar. Go to Settings   Ad Units.
  2.  Select your app and then click on the ad unit tab to enable S2S callbacks for the relevant ad unit:
  3. Go to the Callbacks section and click on ‘Define Server to Server Callbacks‘:
  4. The below window will open and you must fill in the necessary information to enable S2S callbacks.
    1. In the Callback URL field, construct the callback for ironSource to send you after a user performs an ad unit completion, for example:[USER_ID]&rewards=[REWARDS]&eventId=[EVENT_ID]&itemName=[ITEM_NAME]
      Note: The values in brackets are placeholders that are replaced by actual values when ironSource sends you the callback.
      Make sure you fill in all the mandatory parameters in your callback as well as any additional optional parameters we support.
    2. Verify that the callbacks get sent correctly by entering the correct values in the Callback Test Parameters fields. Select ‘Test and Save‘.
    3. If you’d like to enable negative callbacks in the case a transaction is ultimately denied by the advertiser and you want the option to revoke the reward from your user, simply select ‘+ Add a negative callback‘. Then construct the URL to which ironSource can send you the revoke notification, following this example:[USER_ID]&rewards=[REWARDS]&eventId=[EVENT_ID]
  5. The below toggle will then appear in the Callbacks section. You will be able to activate it by swiping right once the ironSource sends the test callback to your server, and is successful. If you have added a negative callback, ironSource will send you a callback for that as well.
    Note: In order to activate S2S callbacks, your server must receive the callback and acknowledge receipt.

Mandatory Parameters

Mandatory parameters that must be included in your callback string:

  1. [USER_ID]: The unique identifier of a user of your application. The system uses it to know which user to reward upon successful ad completion.
  2. [REWARDS]: The number of credit units rewarded to the user.
  3. [EVENT_ID]: A unique identifier of the completed event, generated by ironSource, so that you can verify that you have not already rewarded the user for the event.

Optional Parameters

Optional parameters that may be used if needed, for your own internal use:

  1. [ITEM_NAME] – Virtual item name, in the case the reward is a virtual item rather than an in-game currency.
  2. [APPLICATION_KEY] – ApplicationKey.
  3. [PLACEMENT_NAME] – Placement name.
  4. [AD_PROVIDER] – Relevant for Mediation integrations, and specifies the provider’s name (e.g., AdColony, Vungle etc.).
  5. [DELIVERY_TYPE] – This parameter specifies the ad unit from which the completion was reported. Possible values are Offerwall or Rewarded Video.
  6. [MULTI_CREDIT_PROMO_MULTIPLIER] – For Offerwall only, this parameter specifies if this offer was delivered during a “multi credit promotion” and what the promotion value was. In the case of a 2X promotion, this parameter will return “2”. In the case of a 2.5X promotion, this parameter will return “2.5”. In the case where there was no promotion active, this parameter will return “1”.

Note: In addition, you may also use custom parametersYou don’t need to add a placeholder for these, they will simply appear in your callback URL with the prefix custom_.

Optional – Signature Validation with Private Key:
Your signature represents a MD5 of the following:  md5([TIMESTAMP][EVENTID][USER_ID][REWARDS][PRIVATE_KEY]). The private key is a string known only by you and ironSource, while all other signature components are part of the URL.  The private key is thus added for additional security as it makes the signature harder to reproduce. If you’d like to use this extra layer of security, enter a private key to be sent along with the callback URL.


  • Whenever a commission event is generated, the ironSource server will call your callback URL and provide you with the necessary information in order to credit the relevant user. We will keep calling this URL periodically for every commission until we receive a valid HTTP response with status 200 (OK) with the appearance of “[EVENT_ID]:OK” string somewhere in the HTTP response.
    This is an example of a typical response:
    <status> dae8e6cf42b1357f8652ad6ecb5b24f1:OK</status>
  • ironSource manages a policy of retries and timeouts, so that a temporary failure of communication does not result in lost commission events. If your expected acknowledgement response is not sent, ironSource continues to call the commission event callback with the same details, for up to 48 hours. A response time of more than 1 second is also considered a failure. Unverified or failed callbacks will not be compensated by ironSource.

You are now ready to start using server-to-server callbacks.

Handling Server-to-Server Callback Events

Commission Event Description

A commission event occurs once a user has completed an ad offer. In the case of Rewarded Video and Offerwall, this means that the user should be rewarded with virtual currency or items. ironSource calls the commission event callback (as defined in the Callback URL parameter in the application settings) with details about the reward.

Note: In the case of Rewarded Video and Offerwall, you must implement the commission event callback so that your code awards the correct amount to the correct user. In the case of Interstitial, the event only informs you that the user has completed an offer (no reward is involved).

The following sections describe the syntax of the commission event callback, provide a code sample, and describe how to authenticate, manage and test the event callback.

Note: In the case of the RewardedVideo product, a client-side event is also sent when a user completes an ad offer (sees a RewardedVideoDidReceiveCredit for iOS or onRVAdCredited for Android), in addition to the server-side commission event callback being called. In the case of OfferWall, the client-side event ssaOfferWallDidReceiveCredit (for iOS) or onOWAdCredited (for Android) is called.
We recommend using the server-side event to trigger the user reward, as the authenticity of the callback can be verified (see Authenticating the Commission Event Callback). Make sure not to reward the user twice for the same event when handling the ssaRewardedVideoDidReceiveCredit (iOS) oronRVAdCredited(Android).
If you do not operate a back-end data server for your application and wish to rely solely on client-side events, you can disable the server-to-server callback system.

Commission Event Callback


The commission event callback is called when a user has completed an ad offer and should be rewarded with credit or virtual items. You are responsible for implementing the code to handle this event.


Name Type Description
[USER_ID] String The unique identifier of the user to be rewarded. This is sent by the calling app when initializing the ironSource product.
Note: Note: The URL-encoded form is passed (for example, “” rather than “”).
[REWARDS] Int The number of credit units to be awarded to the user.
[EVENT_ID] String A unique identifier of the callback event, generated by ironSource server, and composed of alphanumeric characters
[ITEM_NAME] String The name of the virtual item to be awarded (if the virtual item option is used).
Timestamp String A string representation of the exact date and time at which this callback was called, in the following format: YYYYMMDDHHMM (e.g. “201001021455” stands for January 2, 2010 14:55).
signature String An MD5 hash string to be used for authentication (see Authenticating the Commission Event Callback). This key is generated based on the following formula: md5([TIMESTAMP][EVENT_ID][USER_ID]
The [USER_ID] element is the URL-decoded value of the userID (for example, “” rather than “”).
The [PRIVATE_KEY] element is the value you defined in the Private Key setting.


Your application must acknowledge receiving the commission event by sending an HTTP response with a status of 200 (OK), where the “[EVENT_ID]:OK”string appears anywhere in the response.


Note: It is important to send a response with the correct syntax, so that ironSource does not continue to send retries of the callback.

Sample Commission Event Callback Code – PHP

The following PHP code sample demonstrates a typical commission event callback handler. All you need to do after copying the code is to implement the alreadyProcessed()anddoProcessEvent() functions and set the  [YOUR_PRIVATE_KEY]   string to the correct value.

// get the variables
$userId = $_GET['applicationUserId'];
$eventId = $_GET['eventId'];
$rewards = $_GET['rewards'];
$signature = $_GET['signature'];
$timestamp = $_GET['timestamp'];
$privateKey = ‘[YOUR_PRIVATE_KEY]’;
// validate the call using the signature
if (md5($timestamp.$eventId.$userId.$rewards.$privateKey) != $signature)
   echo "Signature doesn’t match parameters";
// check that we haven't processed the same event before
if (!alreadyProcessed($eventId)){
   // grant the rewards
   doProcessEvent($eventId, $userId, $rewards);
// return ok
echo $eventId.":OK";

Sample Commission Event Callback Code – Java

The following Java code sample demonstrates a typical commission event callback handler. All you need to do after copying the code is to implement the getPostParameter() andalreadyProcessed()  methods and set the  [myPrivateKey] string to the correct value.

import java.math.BigInteger;
public class HelloWorld {
     public static void main(String []args) {
    public static String getPostParameter(String param){
         // TODO : your app implementaion for get post parmas
        return "";
	  public static boolean alreadyProcessed(String eventId){
         // TODO 
        return true;
     public static boolean validateSuperSonicCallback() {
         String applicationUserId = getPostParameter("applicationUserId");
         String eventId = getPostParameter("eventId");
         String signature = getPostParameter("signature");
         String userId = getPostParameter("userId");
         String rewards = getPostParameter("rewards");
         String timestamp = getPostParameter("timestamp");
         String privateKey = "myPrivateKey" ;// enter your private key
         String mySignature = "";
        try {
            String message = timestamp + eventId + userId + rewards +privateKey;
            MessageDigest md = MessageDigest.getInstance("MD5"); 
            BigInteger hash = new BigInteger(1, md.digest());
            String result = hash.toString(16);
            while(result.length() < 32) {
                result = "0" + result;
                        System.out.println(result); // Display the string.
        } catch (NoSuchAlgorithmException e){
        if (mySignature!=signature){
	     return false;
	     return !alreadyProcessed(eventId);

Authenticating The Commission Event Callback

In order to protect your code from unauthorized access, we recommend performing some simple tests on the commission event callback signature and source, to verify that the call was made by ironSource.
To authenticate the commission event callback you can:

  1. Generate the MD5 hash value from the call’s parameters, according to this formula: md5([TIMESTAMP][EVENT_ID][USER_ID] [REWARDS][PRIVATE_KEY]), and verify that the result is identical to the signature parameter value.
  2. Verify that the call originates from one of these IP addresses:

Custom Parameters for iOS

The ironSource SDK supports custom parameters for Rewarded Video and Offerwall. You can pass custom parameters upon the initialization of the ad unit and receive the parameters upon a user’s completion event.
New! You can now pass custom parameters for all mediation networks on the Unity LevelPlay mediation platform.

Note: Note:
  1. Custom parameters work in conjunction with server-to-server completion callbacks only. You will receive the parameter as part of the callback string.
  2. You may insert more than one custom parameter in the init request. 

Implementation Code

Rewarded Video

Note: Note:
  • Custom Parameters can be set several times per session.
  • To reset the value, use clearRewardedVideoServerParams, and then set the new value.  
(void)setRewardedVideoServerParameters:(NSDictionary *)parameters;


Note: Note:
  • Custom parameters should be called before calling showOW.
NSMutableDictionary * owDic = [[NSMutableDictionary alloc] init];
owDic[@"ip"] = @"";
[ISConfigurations configurations].offerwallCustomParameters = owDic;

Implementation Example

For example, if you’d like to receive the IP of a user who engaged with the Offerwall, you can add this as an additional parameter in the completion callback:

NSMutableDictionary * owDic = [[NSMutableDictionary alloc] init];
owDic[@"ip"] = @"";
[ISConfigurations configurations].offerwallCustomParameters = owDic;

You will receive a corresponding callback as exemplified below:[USER_ID]&rewards=[REWARDS]&eventId=[EVENT_ID]&itemName=[ITEM_NAME]&custom_ip=

Application User ID

User ID Usage

User ID is a unique Identifier that differentiates between your different users. ironSource uses the User ID to know which user to reward upon successful ad completion through server-to-server callbacks.

Create a User ID

When creating a User ID, make sure to use a unique string for each of your users, in a string format, using up to 64 alphanumeric characters.

Read more about end-user flagging below:




Performance Reports

ironSource Performance Reports aim to deliver valuable insights and analytics so you can better understand your monetization performance. With in-depth filters and helpful breakdowns, your Performance Reports provide the necessary granular data you need to make calculated decisions to achieve monetization success.

Step 1. Navigate to Monetization Reports

All apps with at least one active ad unit will appear in your Performance Reports dashboard. To view reports that exclusively show the performance of the ironSource Network, you can find them under ironSource Network. 

To view your Performance Reports, go to Monetize Reports Performance:ironsource-platform-performance-reports

Step 2. Configure Your Reports

If you have saved reports in the past, you can find them in the dropdown accessible in the Report Title. 



Date Range, breakdowns and filters can be found at the top of the page. Use these to deep dive into your app’s performance and better understand your ad activity. These filters make it easier to find specific results and separate the rest of the data to simplify the report.performance-reports-1

  • Apps: Choose to view reports only for specific apps, to isolate the data for certain apps or per app you monetize with ironSource. You can choose to simply include or exclude certain apps.
  • Countries: Refine your reports by country to understand your apps’ performance based on the geo.
    You can choose to simply include or exclude certain countries. 
  • Ad Sources: You can filter your reports by ad source to better understand the performance of a specific network. You can choose to simply include or exclude certain ad sources.
  • Date Range: Choose the time frame for your report. Select any predefined range or create a custom date range.


Breakdowns can be found on the right side of the graph. Use these to create different views of your data based on the selections you’ve chosen in the filters section. Customize the view even further by selecting how the list is sorted, as well as the checkboxes which control what you see in the graph.

The available breakdowns are:

Ad Source
Ad Source Instance
App Version
ATT status*
Connection Type
OS version
SDK Version
AB test group
Banner size

* ATT status breakdowns enable you to analyze the impact of ATT permissions on your performance. This is relevant only for iOS apps and is available with ironSource SDK 7.1.0+

ATT status is broken down into 4 values:

0 – notDetermined: The value returned if a user has not yet received a request to authorize access to app-related data that can be used for tracking the user or the device.
1 – restricted: The value returned if authorization to access app-related data that can be used for tracking the user or the device is restricted.
2 – denied: The value returned if the user denies authorization to access app-related data that can be used for tracking the user or the device.
3 – authorized: The value returned if the user authorizes access to app-related data that can be used for tracking the user or the device.


You can examine your reports for all ad units in the Overview tab or for to view each ad unit separately simply navigate between the tabs.

In the Offerwall tab, you’ll see data for both your ironSource and Tapjoy offerwall as one data set. Break the data by Ad Source to view them separately. 

Important! If your app isn’t monetizing with rewarded videos or interstitial ads on the Tapjoy network through LevelPlay:
  1. Activate the Tapjoy network
  2. Add your Tapjoy SDK Key to the App Settings

Learn how


You can view your reports in two different formats: Graph and Table.

  • The Graph format shows patterns of your data based on the defined breakdowns and filters. You can see the fluctuation of your performance in a visual format, which makes it easier to understand trends and provides a better view of the data over time as a whole.

    Metric Totals in Table You can view a summary of the metrics portrayed in your report in table format, below the graph. The numbers in the table are a total of each metric, i.e. the total revenue, eCPM, impressions, Ad Availability Checks from a given ad source. The table reflects the identical breakdowns and filters you defined for the graph.
  • Browse between the metrics by clicking on them. The graph will change according to the selected metric; for example, when selecting ‘eCPM‘, the graph will portray the data for this specific metric.
  • The Table format presents your data in columns and rows based on the defined breakdowns and filters. You can see exact values alongside dates which makes it easier to compare individual numbers. This format is better to use when you’re trying to understand or compare specific parts of your performance.
    • Click on the headers to reverse the order of the data (i.e., clicking on Date will reverse the order from chronological to reverse chronological).
    • You can extend the number of rows at the bottom of the table up to 500 rows.
    • You will be able to see the total of the report data in the bottom row of the report.

Step 3. Define Your Metrics

Click on the separate metrics to see dedicated graphs for that metric. You can create custom metric sets in the individual ad unit tabs that provide granular data on your ad performance, by clicking Customize Metrics. You will then be able to create your own metric set and save it for future use.

Note:  The Default Metrics vary slightly based on the ad unit. For example for Interstitial, CTR is part of the Default Metrics Set, while for Rewarded Ad Units, Fill Rate is part of the Default Metrics Set.

You can change the metrics for your ‘Default Metric Set‘ or add a new metric set. Your metric sets will be saved per ad unit. 


When adding a new metric set, enter a relevant name for the metric set and choose from the list (find a list of all our supported metrics below). Then click ‘Save‘.


Supported Metrics on the Performance Reports Dashboard 

ironSource provides deep insights into your app’s ad performance with a wide range of metrics.  These advanced metrics allow you to understand how well your ad units are performing, which ad source is proving most profitable, etc.; allowing for better implementation and control.

Revenue-based metrics like ARPDAU and eCPM are supported for every breakdown.

Note:  Supported metrics might differ slightly based on the ad unit.

Revenue: The total revenue generated by your ad performance
eCPM: Effective Cost per Thousand Impressions. Calculation: revenue divided by impressions multiplied by 1000
Fill Rate: The rate at which an ad is served following a request to the Mediation layer; calculated as ad fulfillment divided by ad requests multiplied by 100%
Requests: Number of times an ad request has been conveyed to the Mediation layer. The request numbers for individual ad networks will differ if/when breaking down or filtering by ad source
Impressions: Total number of times the ad is shown
Completions: The total number of video completions
Completion Rate:
The rate at which an impression is followed by completion NEW!
Fulfillments: The number of requests that generated a positive response
ARPC: Average Revenue per Completion, the total revenue divided by the number of completions
Imp/ Ful: Impressions per Fulfillment, the total of impressions divided by the total number of fulfillments
Source Ad-Availability Check: The number of times an ad source is asked whether it is ready to show an ad
Source Ad-Availability Response: The number of times an ad source had an ad available to show at the time of the request
Availability Rate: The rate at which an ad source had an ad available when an ad was requested.
Sessions: The sum of single periods of user interaction with your app (each SDK init generates a new session).
Engaged Sessions: The sum of sessions in which a user interacts with an ad
Imp / Session: Impressions per Session, The average amount of ads served throughout a single session
Imp / Engaged Sessions: Impressions per Engaged Session, The average amount of ad impressions during an engaged session

Once you save your metric set, you will be able to see it in the Metric drop-down on the top right of the graph.

For relevant metrics, you will have the ability to view the data trends in lines or stacked:

Step 4. Export Your Data

If you’d like to export a report to save it, click on ‘Export to CSV‘:


The following window will open and you can verify your breakdowns and metrics (KPIs). Make sure the Date Range is correct. Click ‘Download CSV’ and the file will download to your computer.

What’s Next?

Make sure to check out your User Activity Reports to gain valuable insights on how your users interact with your ads.

sample temp article

Bullets and Numbers

Selecting bullets icon will give:

  • First level
  • Still first level
    • Second level
      • Third level

Of course I want it to present bullets with different levels

Selecting numbers icon will give:

  1. First level
  2. Still first level
    • Second level
      • Third level

This case I want level 1 = A, level 2 = i and level 3 = a

CTA buttons

“btn” should give the option to have also non-relative links, e.g. I need the button to link to
Currently it will always add the domain

Note: Great if we can have both options (relative and non relative). If not, so better to have non-relative only


Current “code”, while not using GIST looks bad.

Look at this article (Step 3)

I want it to look something like, or at least option to copy paste the code as is:

Scroll down to bullet #3 to see the “good looking” code


Anchor – I tried to use # anchors on this article Something very strange. It works great and after few minutes some being deleted and some not. HELP

Getting Started with the ironSource Unity Plugin

Before You Start

We support Unity version 5 and up.

Step 1. Add the IronSource Unity Package to Your Project

Disclaimer: Updating the ironSource SDK
When upgrading from older SDK versions to the ironSource SDK 6.7.0 and above, you must update all mediation adapters. 

Follow these steps to add the IronSource Unity Package to your project:

  1. Download the IronSource Unity Plugin here.
  2. Make sure your Unity project is opened and import the Unity package.
  3. Double-click on the extracted file; the different files will be populated automatically as shown below:

Important! Using the Unity Editor with the ironSource SDK
The ironSource SDK is designed to work with the Android & iOS platform. The Unity Editor contains a Simulator to work with Unity code. In order to work with our plugin, you must target either an Android or iOS build to test the integration.

Step 2. Additional Settings for Android

In the case your application doesn’t have an AndroidManifest, leave the checkbox under Assets ➣ PluginsAndroidIronSource ➣ AndroidManifest.xml checked and skip to Google Play Services integration.
If you do have an AndroidManifest, please uncheck the box and follow the steps below.
  1. Update AndroidManifest.xml
    Add the following to your AndroidManifest.xml:
    • Manifest Permissions
      Add the following permissions to your AndroidManifest.xml file 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:
                  android:hardwareAccelerated="true" />
                  android:theme="@android:style/Theme.Translucent" />
                  android:theme="@android:style/Theme.Translucent" />
  2. Google Play Services
    1. Download the support-v4-[version].jarAdd the jar to your project under App/Libs.
    2. We recommend using Google Play Services as the ironSource Plugin requires the Android Advertising ID to ensure ad inventory at scale. Follow this guide on how to integrate the Google Play Services AAR.

Step 3. Additional Settings for iOS

  1. Add Ad-Support.framework to Your Xcode Project
    Our Unity Plugin usually adds all the required frameworks automatically. In some cases, the AdSupport.framework can’t be added automatically using Unity 5. Verify if the framework has been added and in the case it has not been added automatically, make sure to add it manually.
  2. iOS9 App Transport Security Settings
     In iOS9, 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 make the following changes in your info.plist:
    • Add in a dictionary called ‘NSAppTransportSecurity‘. Make sure you add this dictionary on the ‘Top Level Key‘.
    • Inside this dictionary, add a Boolean called ‘NSAllowsArbitraryLoads‘ and set it to YES.
      Supersonic iOS9 App Transport Security Settings
      Note: Note: Make sure that your info.plist does not contain any other exceptions besides ‘NSAllowsArbitraryLoads‘, as this might create a conflict.

Step 4. Initialize the Ad Units

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

Application State

First, you’ll need to pass the state of the application by executing the following event function during the Application Lifecycle.

Call onApplicationPause in each of the Unity Scenes:

void OnApplicationPause(bool isPaused) {                 

Init the Plugin & Ad Units

You can initialize the plugin in two ways. We recommend the first method as it will fetch the specific ad units you define.

  1. This method will init the specific ad units mentioned in the adUnits parameter:
    IronSource.Agent.init (YOUR_APP_KEY, IronSourceAdUnits.REWARDED_VIDEO, IronSourceAdUnits.INTERSTITIAL, IronSourceAdUnits.OFFERWALL, IronSourceAdUnits.BANNER);

    New! When using this init approach, you can now initialize each ad unit separately at different touchpoints in your app flow in one session.

    //For Rewarded Video
    IronSource.Agent.init (YOUR_APP_KEY, IronSourceAdUnits.REWARDED_VIDEO);
    //For Interstitial
    IronSource.Agent.init (YOUR_APP_KEY, IronSourceAdUnits.INTERSTITIAL);
    //For Offerwall
    IronSource.Agent.init (YOUR_APP_KEY, IronSourceAdUnits.OFFERWALL);
    //For Banners
    IronSource.Agent.init (YOUR_APP_KEY, IronSourceAdUnits.BANNER);
  2. 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.Agent.init (YOUR_APP_KEY);

Step 5. 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 have implemented, simply add this method to your project:


For more details on the ironSource Integration Verification tool navigate to this article.

For Proguard Users Only

If you are using ProGuard with the ironSource SDK, you must add the following code to your ProGuard file (Android Studio: or Eclipse: proguard-project.txt):

-keepclassmembers class com.ironsource.sdk.controller.IronSourceWebView$JSInterface {
    public *;
-keepclassmembers class * implements android.os.Parcelable {
    public static final android.os.Parcelable$Creator *;
-keep public class** {
   public *;
-keep class com.ironsource.adapters.** { *;
-keep class com.ironsource.unity.androidbridge.** { *;

You are now ready to start working with ironSource’s 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 articles.

You can read this article in:

Getting Started with the ironSource Adobe Air Plugin

To begin monetizing your application with the ironSource SDK, follow these 4 easy steps:

  1. Add the ironSource AIR Plugin to Your Project
  2. SDK Imports
  3. Update AndroidManifest.xml & Google Play Services (Android Only)
  4. Apply iOS9 App Transport Security Settings (iOS Only)
  5. Verify Your Integration

Before You Start

Adobe 4.0+ and the AIR SDK 23.0 are required to be able to use the ironSource SDKIf you are using Flash Builder, you’ll need to download Air SDK 23.0 and overlay it into Flash Builder.
We support Adobe 4.0+ and Air SDK 23.0 on Android operating systems versions 3.0 (API 11) and up as well as iOS versions 7.0 and up.

Step 1. Add the ironSource AIR Plugin to your Project

Note: Note:
  • Make sure you have integrated the latest version of our Adobe Air Plugin. Find it here.
  • 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.

Download the ironSource AIR ANE and then complete the following steps to include it in your project:

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

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()"
    1. Implement the two functions as follows:
      function onResume():void {
      function onPause():void {

      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:

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:

  1. 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:
      android:hardwareAccelerated="true" />
      android:theme="@android:style/Theme.Translucent" />
      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=""
      android:value="@integer/google_play_services_version" />

Step 4. Apply iOS9 App Transport Security Settings (iOS Only)

Important! In iOS9, 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 make the following changes in your info.plist:

  1. Add in a dictionary called ‘NSAppTransportSecurity‘. Make sure you add this dictionary on the ‘Top Level Key‘.
  2. Inside this dictionary, add a Boolean called ‘NSAllowsArbitraryLoads‘ and set it to YES.
    Supersonic iOS9 ATS Support
    Note: Note: Make sure that your info.plist does not contain any other exceptions besides ‘NSAllowsArbitraryLoads‘, as this might create a conflict.

Step 5. 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.

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.

Getting Started with the ironSource Amazon Plugin

The download, use and access to the SDK is subject to the ironSource Mobile SDK Publisher Online Terms & 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.

ironSource supports integrations for the Amazon platform. As Amazon devices run on Android, follow the Android documentation to integrate and use the ironSource Android SDK in your app.

Supported Ad Inventory for Amazon

You can leverage ads through the ironSource mediation adapters in your Amazon app. Note that the ironSource network does not support ad inventory for Amazon.

Google Play Services

As Amazon devices do NOT utilize the Google Play Services library, skip step 2.2 in the Android SDK integration documentation.

Supported Mediation Networks

The following ad networks are available for Rewarded Video through Amazon on the ironSource Mediation platform:

  1. AdColony
  2. Chartboost
  3. Vungle
  4. HyprMX

Integrate these networks by using our Android adapters. You can find the adapters and guides to integrate them here.

Note: Note: The other available Android networks are NOT certified for Amazon, so integrating them can cause crashes for your app.