InMobi Mediation Integration Guide

This guide will instruct you step-by-step on how to set InMobi live as an Ad Network on the Unity LevelPlay Mediation.

Before you start Make sure you have correctly integrated ironSource SDK Rewarded VideoInterstitial or Banner ads into your application.
  • If you are building your app for Android, note that the required Gradle Build Tool is 3.5.4+

Step 1. Create an InMobi Account

  1. Create an account with InMobi. You can do so here.
  2. Once your account has been verified you can login at their partner login here.

Step 2. Create an Application and Placement in InMobi

To configure your application on InMobi, complete the following steps:

  1. Create an Application

    1. After you login you will immediately see the ‘Add inventory’ option:

      You can enter the URL of your app in the AppStore or Google Play.
    2. Alternatively, if your app is not live yet, select ‘Link manually?
      You can then manually enter your application’s name and select its platform.
    3. Check the boxes:
      1. if your app is specifically directed to children under the age of 16.
      2. if you allow inmobi to use device location – Location Permission
    4. Once finished select ‘Save and create placement‘.
      Note: You will need a unique InMobi application per platform (iOS + Android) just like you do with your ironSource account.
  2. Create a Placement

    Once you have created an application, you must create a Placement. Placements are locations to which InMobi will deliver specific Ad-types. This will be the placement in your app where you have configured the ironSource SDK Rewarded Video or Interstitial to trigger.

    1. Choose the ad unit for this placement, out from the supported options:
      1. interstitial
      2. rewarded
      3. banner
    2. once you choose your ad unit, click on Create placement button
    3. Give your placement a name and complete the placement creation

 

    Step 3. Activate InMobi in Your ironSource Network Setup Module

    There are 5 pieces of Data from the InMobi account which need to be input into your ironSource Network Setup Module in order for InMobi to work correctly in connection with ironSource:

    Username This is the username you use to login to your InMobi account. This is required for ironSource to access the InMobi reporting API for your account, which allows your Unity LevelPlay Mediation to import performance data from your InMobi account to use in reporting & optimization.
    Password  This is the password you use to login to your InMobi account. This is required along with the username in order for ironSource to access reporting information for your account.
    API Key This is the unique key to verify requests made for reporting info.
    Account ID This is the unique identifier for your InMobi account.
    Placement ID This is the unique Placement to which InMobi will deliver ads to.

    Once you obtain this information, you must configure InMobi’s Parameters in your ironSource Account. By adding the above parameters correctly, you will be able to take full advantage of InMobi’s ad inventory and reporting data on Unity LevelPlay Mediation.

    1. Username

      This is the username you use to log in to your InMobi account.

    2. Password

      This is the password you use to log in to your InMobi account.

    3. API Key

      This is the unique key to verify requests made for reporting info. To receive this info, go to the Drop-down arrow in the top right-hand corner of your admin panel ➣ select Account Settings ➣ Select ‘API Key’  ➣ Press on ‘Generate Key’

    For more details, please refer to the InMobi Support Portal page here.

    1. Account ID

      This is the unique identifier for your InMobi account. To locate this parameter, click on the name icon in the top laft-hand corner of your admin panel. You will then see your ‘Account ID‘ listed:

    2. Placement ID

      To find your applications ‘Placement ID‘, select ‘Inventory > inventory list’ from the left navigation menu ➣ select the relevant app from your list ➣ select the ad unit ➣ select the name of the relevant placement for this app. Copy the ‘Placement ID‘:

    Configure InMobi’s Parameters into ironSource Account

    Once you obtain the above parameters, log in to your ironSource account.

    • Go to ‘Monetize‘ ➣ ‘Mediation‘ ➣ ‘Network Setup‘.
      ironsource-platform-mediation-network-setup
    • Select InMobi from the table of Available Ad Networks.ironsource-platform-select-mediation-network-inmobi
    • Enter your InMobi ‘Username‘ , ‘Password‘ , ‘API Key‘ and ‘Account ID‘ in the relevant fields.
      ironsource-platform-account-settings-inmobi
    • Select the app on which you’d like to run Unity LevelPlay Mediation with InMobi.
    • Scroll down to InMobi from the Setup list of Ad Networks and click on the ‘Define‘ icon. Enter the Placement ID, under the Rewarded Video,  Interstitial or Banner Settings. Set status to Active and click ‘Save’.ironsource-platform-define-app-settings-inmobiironsource-inmobi-guide-4
    • You will then see InMobi as Active for Mediation on your Setup Dashboard.
      ironsource-platform-mediation-activated-inmobi
    • New! Verify your integration with the Reporting API; this column will check your integration through the Reporting API and return three possible responses: Verified, Failed and No Response. Double check your integration and the information you entered above; then click ‘Retry‘ until you see ‘Verified’.

    Step 4. Add the InMobi Adapter to Your Build

    Unity Integration Manager  (Recommended)

    Once you’ve completed SDK integration, you can download InMobi Adapter, using the Unity Integration Manager.

    In your Unity Development platform, go to ironSource > Integration Manager

    If you already have the latest version of the adapters, the action button will be changed to “Updated”, and will be disabled.

    Android (Manual Resolve)

    To apply your changes, make sure you use the “Resolve” process. This will download all relevant artifacts, according to your choices. For detailed information see instructions here

    For Proguard Users Only (Android) 

    If you are using ProGuard with the InMobi adapter, you must add the following code to your ProGuard configuration:

    -keepattributes SourceFile,LineNumberTable
    -keep class com.inmobi.** { *; }
    -dontwarn com.inmobi.**
    -keep public class com.google.android.gms.**
    -dontwarn com.google.android.gms.**
    -dontwarn com.squareup.picasso.**
    -keep class com.google.android.gms.ads.identifier.AdvertisingIdClient{
         public *;
    }
    -keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info{
         public *;
    }
    # skip the Picasso library classes
    -keep class com.squareup.picasso.** {*;}
    -dontwarn com.squareup.picasso.**
    -dontwarn com.squareup.okhttp.**
    # skip Moat classes
    -keep class com.moat.** {*;}
    -dontwarn com.moat.**
    # skip AVID classes
    -keep class com.integralads.avid.library.* {*;}

    Android Plugin Manual Integration

    1. Download the InMobi android adapter:

      Download adapter and SDK from here.

    2. Add the InMobi files to your Unity project:

      Import the files into Assets/Plugins/Android/.

    3. Add required dependencies:
      implementation 'com.ironsource.adapters:inmobiadapter:4.3.23' 
      implementation 'com.inmobi.monetization:inmobi-ads-kotlin:10.6.6' 
      
    4. Add the InMobi Manifest – for JAR integration Only
      InMobi SDK is released as AAR file. Only if you are using JAR integration, make sure to add the Manifest.xml as defined in InMobi Android documentation.
    Note: InMobi requires Google Play Services 8.4.0+.

    iOS Plugin Manual Integration

    1. Download the InMobi iOS adapter:

      Download the adapter and SDK from here.

    2. Add the InMobi files to your Unity project:

      Import adapter file into Assets/Plugins/iOS.

    Step 5. InMobi Additional Settings

    User-level age restricted user 

    Unity LevelPlay mediation lets publishers communicate InMobi’s IsAgeRestricted settings directly to the InMobi network. This feature is enabled using ironSource SDK 7.2.1+, InMobi Android Adapter 4.3.17 +.

    Use the following syntax, to set InMobi setIsAgeRestricted flag with the parameter True:

    IronSource.Agent.setMetaData("InMobi_AgeRestricted","true");

    Use the following syntax, to set InMobi setIsAgeRestricted flag with the parameter False:

    IronSource.Agent.setMetaData("InMobi_AgeRestricted","false");

    Evaluate Your Ad Network Integration

    • Verify your ad network integration with our Integration Helper. The ironSource SDK provides a tool to ensure you’ve successfully integrated our SDK as well as any additional network adapters.
    • Manage the debug logs for your integrated mediation ad networks with this boolean
      IronSource.Agent.setAdaptersDebug(true);

      When set to TRUE, this line of code will enable debug logs to help you troubleshoot issues with all of the mediation ad networks that permit to do so.  Remove this code before your app goes live with our ad units! Supported for SDK versions 6.5.2 and up.

    Done!

    You are now all set to deliver InMobi Ads through the Unity LevelPlay Mediation!


    What’s Next?
    To leverage additional ad networks through Unity LevelPlay Mediation, integrate the adapters and follow our integration guides.