Skip to content

mike-n-jordan/mopub-android-sdk

 
 

Repository files navigation

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 [email protected].

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 [email protected] if you have further questions.

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() // includes the MoPub SDK
        google() // necessary for Android API
    }
    
    dependencies {
        implementation('com.mopub:mopub-sdk:5.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() // includes the MoPub SDK
        google() // necessary for Android API
    }
    
    dependencies {
        // ... other project dependencies
    
        // For banners
        implementation('com.mopub:mopub-sdk-banner:5.14.0@aar') {
            transitive = true
        }
        
        // For interstitials and rewarded ads
        implementation('com.mopub:mopub-sdk-fullscreen:5.14.0@aar') {
            transitive = true
        }
    
        // For native static (images).
        implementation('com.mopub:mopub-sdk-native-static:5.14.0@aar') {
            transitive = true
        }
    
        // For native video. This will automatically also include native static
        implementation('com.mopub:mopub-sdk-native-video:5.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 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.

  • Features

    • Add beta support for OMSDK version 1.3.4.
    • Certify MoPub Android SDK for Android 11 (API level 30).
    • Add MoPubErrorCode.TOO_MANY_REQUESTS to notify of making too many unsuccessful requests in a short period of time.
    • Add Pangle as a supported network.
    • Remove Mintegral as a supported network.
  • Bug Fixes

    • Banner pause should not restart refresh timer.
    • Address a null pointer exception when some ads expire.
    • Address a destroyed ad causing a null pointer in certain situations.
    • Address having multiple close buttons.
    • Put banner and interstitial callbacks on the main thread. This should address some race conditions when showing an ad immediately after the load finishes.
    • Other minor bugs.

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 (Added in 5.11.0)

  • androidx.media2:media2-widget (Added in 5.11.0)

  • androidx.media2:media2-player (Added in 5.11.0)

  • com.mopub:omsdk-android:1.3.4 (Added in 5.14.0)

  • MoPub Volley Library (mopub-volley-2.1.0.jar - available on JCenter) (Updated in 5.6.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.3.0) (Updated in 5.14.0)

  • If you are integrating with v5.6.0 or later of the MoPub SDK, specify the sourceCompatibility and targetCompatibility 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 grant ACCESS_COARSE_LOCATION.
  • 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:

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 91.5%
  • JavaScript 3.9%
  • Kotlin 2.3%
  • HTML 2.2%
  • CSS 0.1%