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.
- The required Gradle Build Tool is 3.5.4+
Step 1. Create an InMobi Account
- Create an account with InMobi. You can do so here.
- 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:
-
Create an Application
- 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. - Alternatively, if your app is not live yet, select ‘Link manually?‘
You can then manually enter your application’s name and select its platform. - Check the boxes:
- if your app is specifically directed to children under the age of 16.
- if you allow inmobi to use device location – Location Permission
- 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.
- After you login you will immediately see the ‘Add inventory’ option:
-
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.
- Choose the ad unit for this placement, out from the supported options:
- interstitial
- rewarded
- banner
- once you choose your ad unit, click on Create placement button
- Give your placement a name and complete the placement creation
- Choose the ad unit for this placement, out from the supported options:
Step 3. Activate InMobi in Your LevelPlay Network Setup Module
There are 5 pieces of Data from the InMobi account which need to be input into your ironSource LevelPlay Network Setup Module in order for InMobi to work correctly in connection with ironSource LevelPlay:
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.
-
Username
This is the username you use to log in to your InMobi account.
-
Password
This is the password you use to log in to your InMobi account.
-
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.
-
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:
-
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 Mediation’ ➣ ‘Setup’ ➣ ‘ SDK Networks’.
- Select InMobi from the table of Available Ad Networks.
- Enter your InMobi ‘Username‘ , ‘Password‘ , ‘API Key‘ and ‘Account ID‘ in the relevant fields.
- 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’.
- You will then see InMobi as Active for Mediation on your Setup Dashboard.
- 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
Android
ironSource SDK supports both Gradle dependencies and manual download mechanisms.
Gradle
- Make sure the following Maven URL exist in your build.gradle script of your app module.
repositories { jcenter() maven { url "https://android-sdk.is.com/" } }
- Add the adapter’s Maven name to your build.gradle script of your app module.
implementation 'com.ironsource.adapters:inmobiadapter:4.3.28' implementation 'com.inmobi.monetization:inmobi-ads-kotlin:10.8.0'
Manual Download
- Download the InMobi Adapter:
Add the InMobi Adapter and SDK to your build. You can find the relevant files here. - Add the InMobi Adapter to Your Project:
After you download the Adapter; drop the InMobiAdapter and InMobi SDK into the libs folder in your Android Project. - Add the following to your Gradle build file under the dependencies section:
implementation(name: 'inmobiadapter-4.3.15', ext:'aar')
Step 5. Update AndroidManifest.xml
As of InMobi Android adapter version 4.3.4 + (Android SDK Version 6.17.0), InMobi adapter will be released as AAR. Only if you intend to keep your Jar integration, please add the manifest.
Manifest permissions: (Optional)
Add the following permissions inside the manifest tag but outside the<application>tag:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<queries>
<intent>
<action android:name="android.support.customtabs.action.CustomTabsService" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
</intent>
</queries>
Manifest activities:
Add the following activities inside the <application>tag on your manifest:
<activity android:name="com.inmobi.ads.rendering.InMobiAdActivity" android:configChanges="keyboardHidden|orientation|keyboard|smallestScreenSize|screenSize|screenLayout|locale|fontScale|uiMode" android:hardwareAccelerated="true" android:theme="@android:style/Theme.NoTitleBar" tools:ignore="UnusedAttribute" />
For ProGuard Users Only
If you are using ProGuard with the InMobi adapter, you must add the following code to your ProGuard configuration (Android Studio: proguard-rules.pro or Eclipse: proguard-project.txt):
-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.* {*;}
Step 6. 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.14 +.
Use the following syntax, to set InMobi setIsAgeRestricted flag with the parameter True:
IronSource.setMetaData("InMobi_AgeRestricted","true");
Use the following syntax, to set InMobi setIsAgeRestricted flag with the parameter False:
IronSource.setMetaData("InMobi_AgeRestricted","false");
Evaluate Your Ad Network Integration
IronSource.setAdaptersDebug(true);
Done!
You are now all set to deliver InMobi Ads through the Unity LevelPlay Mediation!
To leverage additional ad networks through Unity LevelPlay Mediation, integrate the adapters and follow our integration guides.