/mopub-android-sdk

Primary LanguageJavaOtherNOASSERTION

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.14.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.14.0@aar') {
            transitive = true
        }
        
        // For interstitials
        compile('com.mopub:mopub-sdk-interstitial:4.14.0@aar') {
            transitive = true
        }
    
        // For rewarded videos. This will automatically also include interstitials
        compile('com.mopub:mopub-sdk-rewardedvideo:4.14.0@aar') {
            transitive = true
        }
    
        // For native static (images).
        compile('com.mopub:mopub-sdk-native-static:4.14.0@aar') {
            transitive = true
        }
    
        // For native video. This will automatically also include native static
        compile('com.mopub:mopub-sdk-native-video:4.14.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.

  • Rewarded Ad reward callback is also triggered now on the client for server-side rewarding.
  • Added click callback for Rewarded Ads.
    • Any implementors of MoPubRewardedVideoListener will now need to also implement public void onRewardedVideoClicked(@NonNull String adUnitId).
  • MoPub Ads now expire after 4 hours of being unused.
    • Interstitial and Rewarded ads served by MoPub will expire 4 hours after successfully loading, triggering a load failure with the new EXPIRED MoPubErrorCode.
    • Cached Native Ad Placer ads now also expire in 4 hours.
  • Improved logging when attempting to show an ad that is not ready.
  • Updated build tools version to 25.0.2.
  • Bug fixes.

Requirements

  • Android 4.1 (API Version 16) and up (Updated in 4.12.0)
  • 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 9.4.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/.