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.

Please Note: We no longer accept GitHub Issues.

Download

The MoPub SDK is available via:

  1. jCenter AAR

    Download
    The MoPub SDK is available as an AAR via jCenter; to use it, add the following to your build.gradle.

    repositories {
        jcenter()
    }
    
    dependencies {
        compile('com.mopub:mopub-sdk:4.9.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
        jcenter()
    }
    // ...
    
    dependencies {
        // ... other project dependencies
    
        // For banners
        compile('com.mopub:mopub-sdk-banner:4.9.0@aar') {
            transitive = true
        }
        
        // For interstitials
        compile('com.mopub:mopub-sdk-interstitial:4.9.0@aar') {
            transitive = true
        }
    
        // For rewarded videos. This will automatically also include interstitials
        compile('com.mopub:mopub-sdk-rewardedvideo:4.9.0@aar') {
            transitive = true
        }
    
        // For native static (images).
        compile('com.mopub:mopub-sdk-native-static:4.9.0@aar') {
            transitive = true
        }
    
        // For native video. This will automatically also include native static
        compile('com.mopub:mopub-sdk-native-video:4.9.0@aar') {
            transitive = true
        }
    }

    To continue integration using the mopub-sdk AAR, please see the Getting Started guide.

  2. Zipped Source

    The MoPub SDK is also distributed as zipped source code that you can include in your application. MoPub provides two prepackaged archives of source code:

    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.

  3. 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.

  • Removed the full SDK bundle.
  • Removed Eclipse support.
  • Removed InMobi custom events from extras.
  • Deprecated rewarded video calls from MoPub.java and moved them to MoPubRewardedVideos.java.
    • For example, MoPub#loadRewardedVideo is deprecated in favor of MoPubRewardedVideos#loadRewardedVideo.
  • Bug fixes.

Modular SDK

  • Added the ability to specify which ad formats to include as dependencies (to decrease the overall footprint of the MoPub SDK in your app).
  • Default behavior remains unchanged and includes access to all ad formats.
  • Note: Maven builds from source are currently unstable and will be reinstated in a future release. Maven developers can still pull the MoPub SDK AAR from JCenter.

Requirements

  • Android 2.3.1 (API Version 9) and up
  • android-support-v4.jar, r23 (Updated in 4.4.0)
  • android-support-annotations.jar, r23 (Updated in 4.4.0)
  • android-support-v7-recyclerview.jar, r23 (Updated in 4.4.0)
  • MoPub Volley Library (mopub-volley-1.1.0.jar - available on JCenter) (Updated in 3.6.0)
  • Recommended Google Play Services 7.8.0

Upgrading from 3.2.0 and Prior

In 3.3.0 a dependency on android-support-annotations.jar was added. If you are using Maven or Gradle to include the MoPub SDK, this dependency is included in the build scripts. For instructions on adding dependencies for Eclipse projects, see our Getting Started Guide

Important Message About Upgrading to MoPub SDK 4.4.0+

Version 4.4.0 of the MoPub SDK fixes a security issue identified by Google. Note that only publishers who received a message from Google are affected. While not all publishers are impacted, we recommend you upgrade to SDK 4.4.0+ ahead of Google's deadline (July 11, 2016) to avoid any issues submitting updates to your apps after the date. More information can be found in Google's support article.

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 grant ACCESS_COARSE_LOCATION.
  • Dangerous permission WRITE_EXTERNAL_STORAGE is needed for MRAID 2.
  • 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:

License

We have launched a new license as of version 3.2.0. To view the full license, visit http://www.mopub.com/legal/sdk-license-agreement/.