ironSource

If you plan to use the MoPub SDK to load and display ads from ironSource via mediation, use this article for integration instructions and information unique to the ad network. To learn more about how MoPub mediation works, refer to our MoPub Network Mediation article.

Supported Ad Formats

ironSource currently supports the following ad formats. For support information, visit the ironSource homepage.

MoPub Formats ironSource Ad Formats
Interstitial Interstitial
Rewarded Ad Rewarded Video

Download and Integrate

To download the Ad Network Name adapters, navigate to the Mediation Integration Tool. You must also download the ironSource SDK:

  • Download ironSource SDK for iOS

  • Download ironSource SDK for Android

    • IronSource adapters are released as an Android Archive (AAR) file starting with version 6.8.2.1. The AAR includes the required Manifest data for IronSource. As a result, you no longer need to update your AndroidManifest manually for any generic data, such as permissions and Activities. Any other app-level placement configuration required by ironSource must be manually entered into the AndroidManifest.

    • For users leveraging ProGuard, be sure to add the following code to your ProGuard profile:

       -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 com.google.android.gms.ads.** {
           public *;
       }
      
       -keep class com.ironsource.adapters.** { *;
       }
      
       -dontwarn com.ironsource.mediationsdk.**
       -dontwarn com.ironsource.adapters.**
       -keepattributes JavascriptInterface
      
       -keepclassmembers class * {
           @android.webkit.JavascriptInterface <methods>;
       }
      

For the latest download and integration instructions, consult ironSource’s tutorials before you integrate the SDK and adapters.

Update Network Configuration Settings

Make sure to pass the ironSource-Appkey as part of the ironSource configuration.

Android

// declare your ironSource App Key and Ad Units
Map<String, String> ironSourceSettings = new HashMap<>(); ironSourceSettings.put("applicationKey","YOUR_IRONSOURCE_APPKEY");

SdkConfiguration sdkConfiguration =
new SdkConfiguration.Builder(isCredentials)
    .withMediatedNetworkConfiguration(IronSourceAdapterConfiguration.class.getName(),
ironSourceSettings)
    .build();

// Initialize MoPub SDK
MoPub.initializeSdk(this, sdkConfiguration, initSdkListener());

iOS

// declare your ironSource App Key and Ad Units
NSDictionary * ironSourceConfig = @{@“applicationKey”:@“YOUR_IRONSOURCE_APPKEY”};

NSMutableDictionary * config = [@{@"IronSourceAdapterConfiguration" :
ironSourceConfig} mutableCopy];

sdkConfig.mediatedNetworkConfigurations = config;

// Initialize MoPub SDK
[[MoPub sharedInstance] initializeSdkWithConfiguration:sdkConfig completion:^{
        NSLog(@"SDK initialization complete");
        // SDK initialization complete. Ready to makead requests.
}];    

Unity

  • Using MoPubManager Prefab: Ensure you attach the ironSource Network Configuration script to your MoPub Manager Prefab, enable the script, and populate the App Key information. Refer to the “Network Configuration (Mediation)” topic here for an example.

    ironSource Unity

  • Manual Initialization:

       #if UNITY_ANDROID
              private string appKey ="YOUR_IRONSOURCE_ANROID_APP_KEY_STRING";
              private string[] _adUnits = {"YOUR_MOPUB_ANDROID_AD_UNIT_ID"};
       #elif UNITY_IPHONE
           private string appKey = "YOUR_IRONSOURCE_iOS_APP_KEY_STRING";
           private string [] _adUnits = {"YOUR_MOPUB_IOS_AD_UNIT_ID"};
       #endif
       // register for initialized callback event in the app
       MoPubManager.OnSdkInitializedEvent += OnSdkInitializedEvent;
    
       // NOTE: the MoPub SDK needs to be initialized onStart() to ensure all other objectshave been enabled first.
       MoPub.InitializeSdk(new MoPub.SdkConfiguration {
               AdUnitId = _adUnits,
    
               // Define the ironSource app key you wantto initialize with 
               MediatedNetworks = new MoPub.MediatedNetwork[]
               {
                    new MoPub.SupportedNetwork.IronSource
                    {
                         NetworkConfiguration = new Dictionary<string,object>{
                              { "applicationKey",appKey}
                         },
                    },
               },
          });
       private void OnSdkInitializedEvent(string adUnitId)
       {
            // The SDK is initialized here. Ready to makead requests.
       }
    

Maximize Fill Rate

If you follow the steps described above on Update Network Configuration Settings, then MoPub Adapters will ensure ironSource initialization is called with the required parameter (applicationKey). For any other reason, if you need to initialize ironSource before and outside of MoPub, then please follow these steps:

// Android
IronSource.initISDemandOnly(Context context, StringappKey);

// iOS
[IronSource initISDemandOnly:appKey];

Side-By-Side Mediation

In this section, we discuss how to integrate and use the ironSource SDK inside MoPub mediation. However, a small portion of our publishers (on some of their projects) use ironSource mediation in addition to MoPub mediation (which uses the ironSource SDK). We refer to this as side-by-side mediation. If you plan to do side-by-side mediation, follow the instructions in this section.

The ironSource SDK can operate for interstitial only, rewarded ad only, or both. If you adjust it for either interstitial only or rewarded ad only, then you must indicate this to the MoPub ironSource adapter. The MoPub ironSource adapter expects this information as instructed below.

Add the following to the network configuration settings map that you defined in the Update Network Configuration Settings step.

  • iOS:

    • If using interstitial only, add the following:
        @{@“interstitial”: @“true”};
      
    • If using rewarded ad only, add the following:
       @{@”rewardedvideo”: @“true”};
      
    • If using both, no need to do anything.
  • Android:

    • If using interstitial only, add the following:
       ironSourceSettings.put(“interstitial”,”true”);
      
    • If using rewarded ad only, add the following:
       ironSourceSettings.put(”rewardedvideo”,”true”);
      
    • If using both, no need to do anything.
  • Unity Manual Initialization:

    • If using interstitial only, just add the following:
       { "interstitial", "true" }
      
    • If using rewarded only, just add the following:
       { "rewardedvideo", "true" }
      
    • If using both, or if you do not use side-by-side mediation, keep these fields empty.
  • Unity Prefab Initialization

    • If using interstitial only, just enter true to Interstitial field, keep Rewarded Video empty.

    • If using rewarded ad only, just enter true to Rewarded Video field, keep Interstitial empty.

    • If using both, or if you do not use side-by-side mediation, keep these fields empty.

Update Additional Settings: CCPA Compliance

ironSource network supports publishers’ ability to restrict the sale of end users’ personal information under the California Consumer Privacy Act (CCPA). Handle the notification about personal information of specific users located in California based on a “do not sell” setting. For more information, refer to the ironSource CCPA documentation for ​iOS​ and ​Android​.

Set Up ironSource on the MoPub Dashboard

App Key and Instance ID are required fields.

To find your App Key, Choose Monetize in the ironSource dashboard > Ad Units & Placements > View your App Key and Instance ID.

Network Reporting and Auto CPM

The following setup is required to take advantage of Auto CPM. To enable ironSource network reporting and Auto CPM:

  1. Navigate to the MoPub UI’s Networks tab. (Refer to these additional instructions that provide more detail for the remaining steps.)

  2. In the Network settings page for ironSource:

    • enable reporting access

    • provide the Username and Secret Key

      To find the Username and Secret Key, navigate to My Account within ironSource, and then to the API tab:

      ironSource reporting 1

  3. Navigate to the Auto CPM preferences page and turn on Auto CPM.

Set Up Reporting

The username is the login or e-mail that is used to login to the ironSource UI. The Secret Key parameter is unique for your ironSource account. To retrieve it, click on your user profile in the top right corner of the screen, and select My Account. You will find the Secret Key in the Reporting API section.

Test an Ad

We recommend that you test your ironSource integration using MoPub mediation test mode to verify that the adapter works as expected. Test mode must be set up on both the MoPub side and the ironSource side.

Set Up Test Mode on the MoPub Side

Refer to our Mediation Test Mode article for complete details on using this mode.

Set Up Test Mode on the ironSource Side

The ironSource UI supports a test mode, which you can enable for each ironSource placement, and target to specific test devices. Enter your test device details in the ironSource UI to ensure that test ads are delivered only to your test device. Refer to ironSource’s instructions for setting up test mode in the ironSource UI for iOS or Android.

Additional Support

For inquiries and support, contact ironSource.


Last updated August 28, 2021

TWITTER, MOPUB, and the Bird logo are trademarks of Twitter, Inc. or its affiliates. All third party logos and trademarks included are the property of their respective owners.

© 2021 MoPub (a division of Twitter, Inc.)