MoPub Android SDK
Thanks for taking a look at MoPub! We take pride in having an easy-to-use, flexible monetization solution that works across multiple platforms.
Sign up for an account at http://app.mopub.com/.
Need Help?
You can find integration documentation on our wiki and additional help documentation on our developer help site.
To file an issue with our team visit the MoPub Forum or email support@mopub.com.
New Pull Requests?
Thank you for submitting pull requests to the MoPub Android GitHub repository. Our team regularly monitors and investigates all submissions for inclusion in our official SDK releases. Please note that MoPub does not directly merge these pull requests at this time. Please reach out to your account team or support@mopub.com if you have further questions.
Download
The MoPub SDK is available via:
-
Maven Central Repository
The MoPub SDK is available as an AAR via Maven Central; to use it, add the following to yourbuild.gradle
.repositories { mavenCentral() // includes the MoPub SDK google() // necessary for Android API } dependencies { implementation('com.mopub:mopub-sdk:5.18.0@aar') { transitive = true } }
SDK Modularization
With the modular SDK, you can choose to include specific formats to decrease overall SDK footprint in your app. To do so, include the line for any combination of components that you want in your
build.gradle
file as follows:repositories { // ... other project repositories mavenCentral() // includes the MoPub SDK google() // necessary for Android API } dependencies { // ... other project dependencies // For banners implementation('com.mopub:mopub-sdk-banner:5.18.0@aar') { transitive = true } // For interstitials and rewarded ads implementation('com.mopub:mopub-sdk-fullscreen:5.18.0@aar') { transitive = true } // For native static (images). implementation('com.mopub:mopub-sdk-native-static:5.18.0@aar') { transitive = true } }
To continue integration using the mopub-sdk AAR, please see the Getting Started guide.
-
Zipped Source
The MoPub SDK is also distributed as zipped source code that you can include in your application:
MoPub Android SDK.zip
Includes everything you need to serve MoPub ads. No third party ad networks are included.For additional integration instructions, please see the Getting Started guide.
-
Cloned GitHub repository
Alternatively, you can obtain the MoPub SDK source by cloning the git repository:
git clone git://github.com/mopub/mopub-android-sdk.git
For additional integration instructions, please see the Getting Started guide.
New in this Version
Please view the changelog for a complete list of additions, fixes, and enhancements in the latest release.
-
Features
- Change when the close button and countdown timer are presented.
- Add InMobi, Fyber, Ogury, and Mintegral as supported networks.
- Switch to using XML instead of programmatic layouts for fullscreen ads.
- Show the reward selection pop-up dialog regardless of number of reward choices in the sample app.
-
Bug Fixes
- Fix NPEs in
MoPubInline
caused byInteractionListener
- Fix OM SDK
OutOfMemoryError
crash. - Fix custom deeplinks not opening on Android 11.
- Prevent pre-initialization use of some public APIs from corrupting ad requests.
- Fix NPEs in
Requirements
-
Android 4.4 (API Version 19) and up (Updated in 5.11.0)
-
androidx.legacy:legacy-support-v4:1.0.0 (Updated in 5.9.0)
-
androidx.annotation:annotation:1.1.0 (Updated in 5.9.0)
-
androidx.appcompat:appcompat:1.1.0 (Updated in 5.10.0)
-
androidx.recyclerview:recyclerview:1.0.0 (Updated in 5.9.0)
-
androidx.core:core-ktx:1.1.0 (Added in 5.11.0)
-
com.google.code.gson:gson:2.8.6 (Added in 5.11.0)
-
androidx.media2:media2-session:1.1.3 (Updated in 5.17.0)
-
androidx.media2:media2-widget:1.1.3 (Updated in 5.17.0)
-
androidx.media2:media2-player:1.1.3 (Updated in 5.17.0)
-
com.mopub:omsdk-android:1.3.16 (Updated in 5.15.0)
-
MoPub Volley Library (mopub-volley-2.1.0.jar - available on Maven Central) (Updated in 5.17.0)
-
Recommended Google Play Services (com.google.android.gms:play-services-ads-identifier:17.0.0 and com.google.android.gms:play-services-base:17.5.0) (Updated in 5.15.0)
-
If you are integrating with v5.6.0 or later of the MoPub SDK, specify the
sourceCompatibility
andtargetCompatibility
as below to prevent compilation errors with ExoPlayer 2.9.5 and later:android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_8 } }
Upgrading to SDK 5.13.0
AVID and Moat have been removed as MoPub works on a future viewability solution. No action is necessary, though the maven repository for Moat is no longer required. All supported network adapters have been updated and are not backwards compatible. Please update to the latest network adapters when upgrading to SDK 5.13.0.
Upgrading to SDK 5.0
Please see the Getting Started Guide for instructions on upgrading from SDK 4.X to SDK 5.0.
For GDPR-specific upgrading instructions, also see the GDPR Integration Guide.
Working with Android 6.0 Runtime Permissions
If your app's target SDK is 23 or higher and the user's device is running Android 6.0 or higher, you are responsible for supporting runtime permissions, one of the changes introduced in Android 6.0 (API level 23). In addition to listing any dangerous permissions your app needs in the manifest, your app also has to explicitly request the dangerous permission(s) during runtime by calling method requestPermissions()
in the ActivityCompat
class.
Specifically for the MoPub SDK:
- Dangerous permission
ACCESS_COARSE_LOCATION
is needed to pass network location data to MoPub. - Dangerous permission
ACCESS_FINE_LOCATION
is needed to pass GPS location data to MoPub.- Granting
ACCESS_FINE_LOCATION
also allows network location data to be passed to MoPub without the need to also grantACCESS_COARSE_LOCATION
.
- Granting
- Note: SDK Version 5.9.0 removes the requirement for the dangerous permission
WRITE_EXTERNAL_STORAGE
. - Note: The user can deny granting any dangerous permissions during runtime, so please make sure your app can handle this properly.
- Note: The user can revoke any permissions granted previously by going to your app's Settings screen, so please make sure your app can handle this properly.
Additional resources:
- Android 6.0 Changes
- Requesting Permissions at Run Time
- Permissions Best Practices
- Normal vs Dangerous Permissions
- Permission Groups
License
To view the full license, visit http://www.mopub.com/legal/sdk-license-agreement/.
Open Measurement License
We have partnered with the IAB to provide Viewability measurement via the Open Measurement SDK as of version 5.14.0. To view the full license, visit https://www.mopub.com/en/omlv1