├── Line
├── .gradle
│ ├── 6.1.1
│ │ ├── gc.properties
│ │ ├── fileChanges
│ │ │ └── last-build.bin
│ │ └── fileHashes
│ │ │ └── fileHashes.lock
│ ├── vcs-1
│ │ └── gc.properties
│ └── checksums
│ │ └── checksums.lock
├── .gitignore
├── src
│ └── main
│ │ └── AndroidManifest.xml
├── build.gradle.kts
├── proguard-rules.pro
└── gradlew.bat
├── ByteDance
├── .gitignore
├── README.md
├── src
│ └── main
│ │ └── AndroidManifest.xml
├── build.gradle.kts
└── proguard-rules.pro
├── Facebook
├── .gitignore
├── README.md
├── build.gradle.kts
├── src
│ └── main
│ │ └── AndroidManifest.xml
└── proguard-rules.pro
├── Fyber
├── .gitignore
├── README.md
├── src
│ └── main
│ │ └── AndroidManifest.xml
├── build.gradle.kts
└── proguard-rules.pro
├── Google
├── .gitignore
├── README.md
├── build.gradle.kts
├── src
│ └── main
│ │ └── AndroidManifest.xml
└── proguard-rules.pro
├── InMobi
├── .gitignore
├── README.md
├── build.gradle.kts
├── src
│ └── main
│ │ └── AndroidManifest.xml
└── proguard-rules.pro
├── Moloco
├── README.md
├── .gitignore
├── build.gradle.kts
├── proguard-rules.pro
└── CHANGELOG.md
├── MyTarget
├── .gitignore
├── README.md
├── build.gradle.kts
├── src
│ └── main
│ │ └── AndroidManifest.xml
└── proguard-rules.pro
├── PubMatic
├── .gitignore
├── README.md
├── build.gradle.kts
├── proguard-rules.pro
└── CHANGELOG.md
├── Smaato
├── .gitignore
├── README.md
├── src
│ └── main
│ │ └── AndroidManifest.xml
├── proguard-rules.pro
└── build.gradle.kts
├── UnityAds
├── .gitignore
├── README.md
├── build.gradle.kts
├── src
│ └── main
│ │ └── AndroidManifest.xml
└── proguard-rules.pro
├── Verve
├── .gitignore
├── README.md
├── src
│ └── main
│ │ └── AndroidManifest.xml
├── build.gradle.kts
└── proguard-rules.pro
├── Vungle
├── .gitignore
├── README.md
├── src
│ └── main
│ │ └── AndroidManifest.xml
├── build.gradle.kts
└── proguard-rules.pro
├── Yandex
├── .gitignore
├── README.md
├── src
│ └── main
│ │ └── AndroidManifest.xml
├── build.gradle.kts
└── proguard-rules.pro
├── BidMachine
├── .gitignore
├── README.md
├── src
│ └── main
│ │ └── AndroidManifest.xml
├── build.gradle.kts
└── proguard-rules.pro
├── BigoAds
├── .gitignore
├── README.md
├── build.gradle.kts
├── src
│ └── main
│ │ └── java
│ │ └── com
│ │ └── applovin
│ │ └── mediation
│ │ └── adapters
│ │ └── MDBigoAdsMediationAdapter.java
├── proguard-rules.pro
└── CHANGELOG.md
├── Chartboost
├── .gitignore
├── README.md
├── src
│ └── main
│ │ └── AndroidManifest.xml
├── build.gradle.kts
└── proguard-rules.pro
├── LinkedIn
├── .gitignore
├── README.md
├── build.gradle.kts
├── CHANGELOG.md
└── proguard-rules.pro
├── Mintegral
├── .gitignore
├── README.md
├── src
│ └── main
│ │ └── AndroidManifest.xml
├── build.gradle.kts
└── proguard-rules.pro
├── AmazonAdMarketplace
├── .gitignore
├── README.md
├── proguard-rules.pro
├── src
│ └── main
│ │ └── AndroidManifest.xml
└── build.gradle.kts
├── IronSource
├── .gitignore
├── build.gradle.kts
├── src
│ └── main
│ │ └── AndroidManifest.xml
└── proguard-rules.pro
├── MobileFuse
├── .gitignore
├── README.md
├── src
│ └── main
│ │ └── AndroidManifest.xml
├── build.gradle.kts
└── proguard-rules.pro
├── OguryPresage
├── .gitignore
├── src
│ └── main
│ │ └── AndroidManifest.xml
├── README.md
├── build.gradle.kts
└── proguard-rules.pro
├── YsoNetwork
├── .gitignore
├── README.md
├── build.gradle.kts
├── src
│ └── main
│ │ └── java
│ │ └── com
│ │ └── applovin
│ │ └── mediation
│ │ ├── adapters
│ │ └── ALYsoNetworkMediationAdapter.java
│ │ └── ALYsoNetworkMediationAdapter.java
├── proguard-rules.pro
└── CHANGELOG.md
├── GoogleAdManager
├── .gitignore
├── README.md
├── build.gradle.kts
├── src
│ └── main
│ │ └── AndroidManifest.xml
└── proguard-rules.pro
├── AppLovin MAX Demo App - Java
├── app
│ ├── .gitignore
│ ├── src
│ │ └── main
│ │ │ ├── res
│ │ │ ├── values
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── attrs.xml
│ │ │ │ ├── colors.xml
│ │ │ │ ├── styles.xml
│ │ │ │ └── strings.xml
│ │ │ ├── drawable
│ │ │ │ ├── logo.png
│ │ │ │ ├── mute.png
│ │ │ │ ├── unmute.png
│ │ │ │ ├── ic_chevron_right_black_24dp.xml
│ │ │ │ └── ic_bug.xml
│ │ │ ├── drawable-v24
│ │ │ │ └── logo.png
│ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── xml
│ │ │ │ └── network_security_config.xml
│ │ │ ├── layout
│ │ │ │ ├── activity_mrec_ad_view_holder.xml
│ │ │ │ ├── content_main.xml
│ │ │ │ ├── activity_native_recycler_view.xml
│ │ │ │ ├── activity_text_recycler_view_holder.xml
│ │ │ │ ├── activity_list.xml
│ │ │ │ ├── activity_mrec_recycler_view.xml
│ │ │ │ ├── activity_programmatic_banner_ad.xml
│ │ │ │ ├── activity_programmatic_mrec_ad.xml
│ │ │ │ ├── activity_main.xml
│ │ │ │ ├── ad_callback_item.xml
│ │ │ │ ├── recycler_view_footer_item.xml
│ │ │ │ ├── section_header_item.xml
│ │ │ │ ├── activity_app_open_ad.xml
│ │ │ │ ├── activity_rewarded_ad.xml
│ │ │ │ ├── activity_interstitial_ad.xml
│ │ │ │ ├── activity_layout_editor_banner_ad.xml
│ │ │ │ ├── activity_layout_editor_mrec_ad.xml
│ │ │ │ ├── activity_native_manual.xml
│ │ │ │ ├── activity_native_template.xml
│ │ │ │ ├── ad_type_item.xml
│ │ │ │ ├── activity_native_manual_late_binding.xml
│ │ │ │ ├── activity_splash.xml
│ │ │ │ └── activity_rewarded_videos.xml
│ │ │ └── menu
│ │ │ │ └── menu_main.xml
│ │ │ └── java
│ │ │ └── com
│ │ │ └── applovin
│ │ │ └── enterprise
│ │ │ └── apps
│ │ │ └── demoapp
│ │ │ ├── data
│ │ │ └── main
│ │ │ │ ├── ListItem.java
│ │ │ │ ├── SectionHeader.java
│ │ │ │ ├── DemoMenuItem.java
│ │ │ │ └── FooterType.java
│ │ │ ├── ads
│ │ │ └── max
│ │ │ │ ├── banner
│ │ │ │ └── BannerAdActivity.java
│ │ │ │ ├── mrecs
│ │ │ │ └── MrecAdActivity.java
│ │ │ │ └── nativead
│ │ │ │ └── NativeAdActivity.java
│ │ │ ├── SplashActivity.java
│ │ │ └── ui
│ │ │ ├── CallbacksRecyclerViewAdapter.java
│ │ │ ├── BaseAdActivity.java
│ │ │ └── DemoMenuActivity.java
│ ├── proguard-rules.pro
│ └── build.gradle
├── settings.gradle
├── .gitignore
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── build.gradle
├── gradle.properties
└── gradlew.bat
├── AppLovin MAX Demo App - Kotlin
├── app
│ ├── .gitignore
│ ├── src
│ │ └── main
│ │ │ ├── res
│ │ │ ├── values
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── attrs.xml
│ │ │ │ ├── colors.xml
│ │ │ │ ├── styles.xml
│ │ │ │ └── strings.xml
│ │ │ ├── drawable
│ │ │ │ ├── logo.png
│ │ │ │ ├── mute.png
│ │ │ │ ├── unmute.png
│ │ │ │ ├── ic_chevron_right_black_24dp.xml
│ │ │ │ └── ic_bug.xml
│ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── xml
│ │ │ │ └── network_security_config.xml
│ │ │ ├── layout
│ │ │ │ ├── activity_mrec_ad_view_holder.xml
│ │ │ │ ├── activity_native_recycler_view.xml
│ │ │ │ ├── content_main.xml
│ │ │ │ ├── activity_text_recycler_view_holder.xml
│ │ │ │ ├── activity_list.xml
│ │ │ │ ├── activity_mrec_recycler_view.xml
│ │ │ │ ├── activity_programmatic_banner_ad.xml
│ │ │ │ ├── activity_programmatic_mrec_ad.xml
│ │ │ │ ├── activity_main.xml
│ │ │ │ ├── ad_callback_item.xml
│ │ │ │ ├── footer_item.xml
│ │ │ │ ├── section_header_item.xml
│ │ │ │ ├── activity_app_open_ad.xml
│ │ │ │ ├── activity_rewarded_ad.xml
│ │ │ │ ├── activity_interstitial_ad.xml
│ │ │ │ ├── activity_layout_editor_banner_ad.xml
│ │ │ │ ├── activity_layout_editor_mrec_ad.xml
│ │ │ │ ├── activity_native_manual.xml
│ │ │ │ ├── activity_native_template.xml
│ │ │ │ ├── ad_type_item.xml
│ │ │ │ ├── activity_native_manual_late_binding.xml
│ │ │ │ ├── activity_splash.xml
│ │ │ │ └── activity_rewarded_videos.xml
│ │ │ └── menu
│ │ │ │ └── menu_main.xml
│ │ │ └── java
│ │ │ └── com
│ │ │ └── applovin
│ │ │ └── enterprise
│ │ │ └── apps
│ │ │ └── demoapp
│ │ │ ├── data
│ │ │ └── main
│ │ │ │ ├── SectionHeader.kt
│ │ │ │ ├── ListItem.kt
│ │ │ │ ├── DemoMenuItem.kt
│ │ │ │ └── Footer.kt
│ │ │ ├── ads
│ │ │ └── max
│ │ │ │ ├── banner
│ │ │ │ ├── BannerAdActivity.kt
│ │ │ │ └── JetpackComposeBannerAdActivity.kt
│ │ │ │ ├── mrecs
│ │ │ │ ├── MrecAdActivity.kt
│ │ │ │ └── JetpackComposeMrecAdActivity.kt
│ │ │ │ └── nativead
│ │ │ │ ├── NativeAdActivity.kt
│ │ │ │ └── JetpackComposeTemplateNativeAdActivity.kt
│ │ │ ├── SplashActivity.kt
│ │ │ └── ui
│ │ │ ├── CallbacksRecyclerViewAdapter.kt
│ │ │ ├── BaseAdActivity.kt
│ │ │ ├── DemoMenuActivity.kt
│ │ │ └── MainRecyclerViewAdapter.kt
│ ├── proguard-rules.pro
│ └── build.gradle
├── settings.gradle
├── .gitignore
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── build.gradle
├── gradle.properties
└── gradlew.bat
├── .gitignore
├── .github
├── ISSUE_TEMPLATE
│ ├── config.yml
│ ├── feature_request.yml
│ └── bug_report.yml
└── workflows
│ └── issue_stale.yml
├── LICENSE.md
└── THIRD PARTY NOTICES.md
/Line/.gradle/6.1.1/gc.properties:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Line/.gradle/vcs-1/gc.properties:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/ByteDance/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
--------------------------------------------------------------------------------
/Facebook/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
--------------------------------------------------------------------------------
/Fyber/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
--------------------------------------------------------------------------------
/Google/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
--------------------------------------------------------------------------------
/InMobi/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
--------------------------------------------------------------------------------
/InMobi/README.md:
--------------------------------------------------------------------------------
1 | # InMobi Adapter
2 |
--------------------------------------------------------------------------------
/Line/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
3 |
--------------------------------------------------------------------------------
/Moloco/README.md:
--------------------------------------------------------------------------------
1 | # Moloco Adapter
2 |
--------------------------------------------------------------------------------
/MyTarget/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
--------------------------------------------------------------------------------
/PubMatic/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
--------------------------------------------------------------------------------
/Smaato/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
--------------------------------------------------------------------------------
/Smaato/README.md:
--------------------------------------------------------------------------------
1 | # Smaato Adapter
2 |
--------------------------------------------------------------------------------
/UnityAds/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
--------------------------------------------------------------------------------
/Verve/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
--------------------------------------------------------------------------------
/Verve/README.md:
--------------------------------------------------------------------------------
1 | # Verve Adapter
2 |
--------------------------------------------------------------------------------
/Vungle/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
--------------------------------------------------------------------------------
/Vungle/README.md:
--------------------------------------------------------------------------------
1 | # Vungle Adapter
2 |
--------------------------------------------------------------------------------
/Yandex/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
--------------------------------------------------------------------------------
/Yandex/README.md:
--------------------------------------------------------------------------------
1 | # Yandex Adapter
2 |
--------------------------------------------------------------------------------
/BidMachine/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
--------------------------------------------------------------------------------
/BigoAds/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
3 |
--------------------------------------------------------------------------------
/BigoAds/README.md:
--------------------------------------------------------------------------------
1 | # Bigo Ads Adapter
2 |
--------------------------------------------------------------------------------
/ByteDance/README.md:
--------------------------------------------------------------------------------
1 | # ByteDance Adapter
2 |
--------------------------------------------------------------------------------
/Chartboost/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
--------------------------------------------------------------------------------
/Facebook/README.md:
--------------------------------------------------------------------------------
1 | # Facebook Adapter
2 |
--------------------------------------------------------------------------------
/Google/README.md:
--------------------------------------------------------------------------------
1 | # Google AdMob Adapter
2 |
--------------------------------------------------------------------------------
/LinkedIn/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
3 |
--------------------------------------------------------------------------------
/Mintegral/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
3 |
--------------------------------------------------------------------------------
/Mintegral/README.md:
--------------------------------------------------------------------------------
1 | # Mintegral Adapter
2 |
--------------------------------------------------------------------------------
/Moloco/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
3 |
--------------------------------------------------------------------------------
/MyTarget/README.md:
--------------------------------------------------------------------------------
1 | # MyTarget Adapter
2 |
--------------------------------------------------------------------------------
/PubMatic/README.md:
--------------------------------------------------------------------------------
1 | # PubMatic Adapter
2 |
--------------------------------------------------------------------------------
/UnityAds/README.md:
--------------------------------------------------------------------------------
1 | # UnityAds Adapter
2 |
--------------------------------------------------------------------------------
/AmazonAdMarketplace/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
--------------------------------------------------------------------------------
/BidMachine/README.md:
--------------------------------------------------------------------------------
1 | # BidMachine Adapter
2 |
--------------------------------------------------------------------------------
/Chartboost/README.md:
--------------------------------------------------------------------------------
1 | # Chartboost Adapter
2 |
--------------------------------------------------------------------------------
/Fyber/README.md:
--------------------------------------------------------------------------------
1 | # Fyber Inneractive Adapter
2 |
--------------------------------------------------------------------------------
/IronSource/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
3 |
--------------------------------------------------------------------------------
/Line/.gradle/6.1.1/fileChanges/last-build.bin:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/LinkedIn/README.md:
--------------------------------------------------------------------------------
1 | # LinkedIn DSP Adapter
2 |
--------------------------------------------------------------------------------
/MobileFuse/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
3 |
--------------------------------------------------------------------------------
/MobileFuse/README.md:
--------------------------------------------------------------------------------
1 | # MobileFuse Adapter
2 |
--------------------------------------------------------------------------------
/OguryPresage/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
3 |
--------------------------------------------------------------------------------
/YsoNetwork/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
3 |
--------------------------------------------------------------------------------
/YsoNetwork/README.md:
--------------------------------------------------------------------------------
1 | # YSO Network Adapter
2 |
--------------------------------------------------------------------------------
/GoogleAdManager/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /build
3 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/GoogleAdManager/README.md:
--------------------------------------------------------------------------------
1 | # Google Ad Manager Adapter
2 |
--------------------------------------------------------------------------------
/AmazonAdMarketplace/README.md:
--------------------------------------------------------------------------------
1 | # Amazon Ad Marketplace Adapter
2 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/BidMachine/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/MobileFuse/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 | rootProject.name = 'AppLovin MAX Demo App - Java'
3 |
--------------------------------------------------------------------------------
/AmazonAdMarketplace/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | -keep class com.amazon.device.ads.** { *; }
2 | -keep class com.iabtcf.** { *; }
3 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 | rootProject.name='AppLovin MAX Demo App - Kotlin'
3 |
--------------------------------------------------------------------------------
/OguryPresage/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 | 16dp
3 |
4 |
--------------------------------------------------------------------------------
/Line/.gradle/checksums/checksums.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/Line/.gradle/checksums/checksums.lock
--------------------------------------------------------------------------------
/Line/.gradle/6.1.1/fileHashes/fileHashes.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/Line/.gradle/6.1.1/fileHashes/fileHashes.lock
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea
5 | .DS_Store
6 | /build
7 | /captures
8 | .externalNativeBuild
9 | .cxx
10 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea
5 | .DS_Store
6 | /build
7 | /captures
8 | .externalNativeBuild
9 | .cxx
10 |
--------------------------------------------------------------------------------
/Line/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/ByteDance/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/Fyber/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Smaato/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Verve/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Vungle/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Yandex/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Mintegral/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/drawable/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Java/app/src/main/res/drawable/logo.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/drawable/mute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Java/app/src/main/res/drawable/mute.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Java/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/drawable/unmute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Java/app/src/main/res/drawable/unmute.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/drawable/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Kotlin/app/src/main/res/drawable/logo.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/drawable/mute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Kotlin/app/src/main/res/drawable/mute.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Kotlin/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/OguryPresage/README.md:
--------------------------------------------------------------------------------
1 | # Ogury Presage Adapter
2 |
3 | ### Warning: This Android adapter must be pushed manually.
4 | To make sure the capitalization and dashes are consistent, this should be pushed manually.
5 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/drawable-v24/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Java/app/src/main/res/drawable-v24/logo.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/drawable/unmute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Kotlin/app/src/main/res/drawable/unmute.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Java/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Chartboost/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/AppLovin-MAX-SDK-Android/master/AppLovin MAX Demo App - Kotlin/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/BigoAds/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("5.3.0.2")
10 |
11 | android.defaultConfig.minSdk = 16
12 |
--------------------------------------------------------------------------------
/MyTarget/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("5.27.1.2")
10 |
11 | android.defaultConfig.minSdk = 21
12 |
13 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 90dp
4 | 250dp
5 | 300dp
6 |
7 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 90dp
4 | 250dp
5 | 300dp
6 |
7 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/Fyber/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("8.3.7.0")
10 | val minAppLovinSdkVersion by extra("13.2.0")
11 |
12 | android.defaultConfig.minSdk = 19
13 |
--------------------------------------------------------------------------------
/Google/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("24.3.0.1")
10 | val minAppLovinSdkVersion by extra("13.0.0")
11 |
12 | android.defaultConfig.minSdk = 23
13 |
--------------------------------------------------------------------------------
/InMobi/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("10.8.3.1")
10 | val minAppLovinSdkVersion by extra("13.0.0")
11 |
12 | android.defaultConfig.minSdk = 16
13 |
--------------------------------------------------------------------------------
/Moloco/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("3.9.0.1")
10 | val minAppLovinSdkVersion by extra("13.0.0")
11 |
12 | android.defaultConfig.minSdk = 21
13 |
--------------------------------------------------------------------------------
/Vungle/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("7.5.0.2")
10 | val minAppLovinSdkVersion by extra("13.0.0")
11 |
12 | android.defaultConfig.minSdk = 16
13 |
--------------------------------------------------------------------------------
/Yandex/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("7.12.3.0")
10 | val minAppLovinSdkVersion by extra("13.0.0")
11 |
12 | android.defaultConfig.minSdk = 21
13 |
--------------------------------------------------------------------------------
/Facebook/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("6.20.0.0")
10 | val minAppLovinSdkVersion by extra("13.0.0")
11 |
12 | android.defaultConfig.minSdk = 16
13 |
--------------------------------------------------------------------------------
/IronSource/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("8.9.0.0.0")
10 | val minAppLovinSdkVersion by extra("13.0.0")
11 |
12 | android.defaultConfig.minSdk = 19
13 |
--------------------------------------------------------------------------------
/Line/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("2025.5.19.0")
10 | val minAppLovinSdkVersion by extra("13.0.0")
11 |
12 | android.defaultConfig.minSdk = 19
13 |
--------------------------------------------------------------------------------
/LinkedIn/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("0.0.6.2")
10 | val libraryGroupId by extra("com.applovin.dsp")
11 |
12 | android.defaultConfig.minSdk = 21
13 |
--------------------------------------------------------------------------------
/MobileFuse/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("1.9.2.1")
10 | val minAppLovinSdkVersion by extra("13.0.0")
11 |
12 | android.defaultConfig.minSdk = 19
13 |
--------------------------------------------------------------------------------
/UnityAds/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("4.15.0.0")
10 | val minAppLovinSdkVersion by extra("13.0.0")
11 |
12 | android.defaultConfig.minSdk = 19
13 |
--------------------------------------------------------------------------------
/UnityAds/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 |
3 | # Android Studio files
4 | *.iml
5 | .idea/
6 |
7 | /local.properties
8 |
9 | /.idea/workspace.xml
10 | /.idea/libraries
11 |
12 | .DS_Store
13 |
14 | /build
15 | /captures
16 |
17 | .externalNativeBuild
18 |
19 | */dependency-reduced-pom.xml
20 |
21 | **/verification.properties
22 |
--------------------------------------------------------------------------------
/Chartboost/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("9.8.3.0")
10 |
11 | repositories {
12 | maven { url = uri("https://cboost.jfrog.io/artifactory/chartboost-ads/") }
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/Facebook/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/OguryPresage/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("6.0.1.1")
10 | val libraryArtifactId by extra("ogury-presage-adapter")
11 |
12 | repositories {
13 | maven { url = uri("https://maven.ogury.co") }
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/GoogleAdManager/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("24.3.0.1")
10 | val libraryArtifactId by extra("google-ad-manager-adapter")
11 | val minAppLovinSdkVersion by extra("13.0.0")
12 |
13 | android.defaultConfig.minSdk = 23
14 |
--------------------------------------------------------------------------------
/Verve/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("3.3.0.0")
10 |
11 | android.defaultConfig.minSdk = 21
12 |
13 | repositories {
14 | maven { url = uri("https://verve.jfrog.io/artifactory/verve-gradle-release") }
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/Google/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/xml/network_security_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/xml/network_security_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/BidMachine/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("3.3.0.0")
10 | val minAppLovinSdkVersion by extra("13.0.0")
11 |
12 | android.defaultConfig.minSdk = 21
13 |
14 | repositories {
15 | maven { url = uri("https://artifactory.bidmachine.io/bidmachine") }
16 | }
17 |
--------------------------------------------------------------------------------
/ByteDance/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("7.2.0.3.0")
10 | val minAppLovinSdkVersion by extra("13.2.0")
11 |
12 | android.defaultConfig.minSdk = 19
13 |
14 | repositories {
15 | maven { url = uri("https://artifact.bytedance.com/repository/pangle") }
16 | }
17 |
--------------------------------------------------------------------------------
/PubMatic/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("4.5.2.0")
10 | val minAppLovinSdkVersion by extra("13.0.0")
11 |
12 | android.defaultConfig.minSdk = 19
13 |
14 | repositories {
15 | maven { url = uri("https://repo.pubmatic.com/artifactory/public-repos") }
16 | }
17 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/java/com/applovin/enterprise/apps/demoapp/data/main/SectionHeader.kt:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.data.main
2 |
3 | /**
4 | * A [ListItem] representing a section header on the main screen
5 | *
6 | * Created by Harry Arakkal on 9/17/2019.
7 | */
8 | data class SectionHeader(val title: String, override val type: Int = ListItem.SECTION_HEADER) : ListItem
9 |
--------------------------------------------------------------------------------
/GoogleAdManager/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AmazonAdMarketplace/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #0583aa
4 | #02627F
5 | #0583aa
6 |
7 | #40808080
8 | #20808080
9 |
10 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #0583aa
4 | #02627F
5 | #0583aa
6 |
7 | #40808080
8 | #20808080
9 |
10 |
--------------------------------------------------------------------------------
/YsoNetwork/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | val libraryVersionName by extra("1.2.7.1")
10 | val libraryArtifactId by extra("yso-network-adapter")
11 |
12 | android.defaultConfig.minSdk = 21
13 |
14 | repositories {
15 | maven { url = uri("https://ysonetwork.s3.eu-west-3.amazonaws.com/sdk/android") }
16 | }
17 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: true
2 | contact_links:
3 | - name: Documentation
4 | url: https://developers.applovin.com/en/max/android/overview/integration
5 | about: Documentation for the AppLovin MAX SDK for Android
6 | - name: Support
7 | url: https://developers.applovin.com/en/max/faq/common-questions-from-publishers
8 | about: Answers to common questions and support for AppLovin MAX
9 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_mrec_ad_view_holder.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_mrec_ad_view_holder.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/MyTarget/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/menu/menu_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/menu/menu_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/drawable/ic_chevron_right_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/drawable/ic_chevron_right_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/content_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_native_recycler_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_native_recycler_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/java/com/applovin/enterprise/apps/demoapp/data/main/ListItem.kt:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.data.main
2 |
3 | /**
4 | * Interface for all list items on the main screen.
5 | *
6 | * Created by Harry Arakkal on 9/17/2019
7 | */
8 | interface ListItem
9 | {
10 | companion object
11 | {
12 | const val SECTION_HEADER = 0
13 | const val AD_ITEM = 1
14 | const val FOOTER = 2;
15 | }
16 |
17 | val type: Int
18 | }
19 |
--------------------------------------------------------------------------------
/LinkedIn/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | ## 0.0.6.2
4 | * Introduced `verification.properties` to facilitate adapter ownership verification with Google SDK console.
5 |
6 | ## 0.0.6.1
7 | * Add ProGuard rules to prevent obfuscation of LinkedIn SDK classes.
8 |
9 | ## 0.0.6.0
10 | * Certified with LinkedIn SDK 0.0.6.
11 | * Removes `allowBackup="false"` from the LinkedIn SDK `AndroidManifest.xml` file, allowing apps to set their own value without conflict.
12 |
13 | ## 0.0.5.0
14 | * Initial commit.
15 | * Minimum AppLovin MAX SDK version 13.0.0.
16 |
--------------------------------------------------------------------------------
/LinkedIn/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | -keep class com.linkedin.audiencenetwork.** { *; }
13 |
--------------------------------------------------------------------------------
/Mintegral/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("adapter-config")
3 | }
4 |
5 | afterEvaluate {
6 | apply(plugin = "adapter-publish")
7 | }
8 |
9 | // NOTE: Mintegral has 2 separate SDK versions, e.g. x.x.51 for Google Play & x.x.52 for Android Market (in China)
10 | val libraryVersionName by extra("16.9.71.0")
11 | val minAppLovinSdkVersion by extra("13.0.0")
12 |
13 | android.defaultConfig.minSdk = 16
14 |
15 | repositories {
16 | maven { url = uri("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea") }
17 | }
18 |
--------------------------------------------------------------------------------
/BigoAds/src/main/java/com/applovin/mediation/adapters/MDBigoAdsMediationAdapter.java:
--------------------------------------------------------------------------------
1 | package com.applovin.mediation.adapters;
2 |
3 | import com.applovin.sdk.AppLovinSdk;
4 |
5 | /**
6 | * // NOTE: We need another class name to access `BigoAdsMediationAdapter` from the Mediation Debugger because there is currently a naming conflict.
7 | */
8 | public class MDBigoAdsMediationAdapter
9 | extends BigoAdsMediationAdapter
10 | {
11 | public MDBigoAdsMediationAdapter(final AppLovinSdk sdk)
12 | {
13 | super( sdk );
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/content_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/java/com/applovin/enterprise/apps/demoapp/data/main/ListItem.java:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.data.main;
2 |
3 | /**
4 | * All the list items on main screen should confirm to this interface.
5 | *
6 | * Created by santoshbagadi on 2019-09-10.
7 | */
8 | public interface ListItem
9 | {
10 | int TYPE_SECTION_HEADER = 0;
11 | int TYPE_AD_ITEM = 1;
12 | int TYPE_FOOTER = 2;
13 |
14 | /**
15 | * @return The type of list item.
16 | */
17 | int getType();
18 | }
19 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | # AppLovin MAX Copyright ©2024 AppLovin
2 |
3 | This software is subject to, and made available under, the AppLovin Software Development Kit End User License Agreement (“SDK EULA”), see https://www.applovin.com/eula/.
4 |
5 | Your use of the software and accompanying services constitutes your acceptance of such terms. Unless expressly provided otherwise, the software under this license is made available strictly on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. Please review the SDK EULA for details on these and other terms and conditions.
6 |
--------------------------------------------------------------------------------
/YsoNetwork/src/main/java/com/applovin/mediation/adapters/ALYsoNetworkMediationAdapter.java:
--------------------------------------------------------------------------------
1 | package com.applovin.mediation.adapters;
2 |
3 | import com.applovin.sdk.AppLovinSdk;
4 |
5 | /**
6 | * NOTE: YSO initially named their adapter ALYsoNetworkMediationAdapter but our convention is YsoNetworkMediationAdapter. We will support both naming conventions.
7 | */
8 | public class ALYsoNetworkMediationAdapter
9 | extends YsoNetworkMediationAdapter
10 | {
11 | public ALYsoNetworkMediationAdapter(final AppLovinSdk sdk)
12 | {
13 | super( sdk );
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.yml:
--------------------------------------------------------------------------------
1 | name: Feature Request
2 | description: Request an enhancement
3 | labels: [enhancement]
4 | body:
5 | - type: markdown
6 | attributes:
7 | value: |
8 | *Before requesting, search our [existing issues](https://github.com/AppLovin/AppLovin-MAX-SDK-Android/issues?q=is%3Aissue) and [changelog](https://github.com/AppLovin/AppLovin-MAX-SDK-Android/releases) to see if the feature has already been addressed.*
9 | - type: textarea
10 | attributes:
11 | label: "Feature Description"
12 | validations:
13 | required: true
14 |
--------------------------------------------------------------------------------
/InMobi/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/YsoNetwork/src/main/java/com/applovin/mediation/ALYsoNetworkMediationAdapter.java:
--------------------------------------------------------------------------------
1 | package com.applovin.mediation;
2 |
3 | import com.applovin.sdk.AppLovinSdk;
4 | import com.applovin.mediation.adapters.YsoNetworkMediationAdapter;
5 |
6 | /**
7 | * NOTE: YSO initially named their adapter ALYsoNetworkMediationAdapter but our convention is YsoNetworkMediationAdapter. We will support both naming conventions.
8 | */
9 | public class ALYsoNetworkMediationAdapter
10 | extends YsoNetworkMediationAdapter
11 | {
12 | public ALYsoNetworkMediationAdapter(final AppLovinSdk sdk)
13 | {
14 | super( sdk );
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_text_recycler_view_holder.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
15 |
16 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/java/com/applovin/enterprise/apps/demoapp/data/main/DemoMenuItem.kt:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.data.main
2 |
3 | import android.content.Intent
4 |
5 | /**
6 | * A [ListItem] representing an ad type on the main screen.
7 | *
8 | * Created by Harry Arakkal on 09/17/2019.
9 | */
10 | data class DemoMenuItem(val title: String, val intent: Intent?, val runnable:Runnable?, override val type: Int = ListItem.AD_ITEM) : ListItem
11 | {
12 | constructor(title: String, intent: Intent) : this(title, intent, null)
13 | constructor(title: String, runnable:Runnable) : this(title, null, runnable)
14 | }
15 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_text_recycler_view_holder.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
15 |
16 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | google()
6 | mavenCentral()
7 | }
8 | dependencies {
9 | classpath "com.android.tools.build:gradle:8.3.0"
10 |
11 | // NOTE: Do not place your application dependencies here; they belong
12 | // in the individual module build.gradle files
13 | }
14 | }
15 |
16 | allprojects {
17 | repositories {
18 | google()
19 | mavenCentral()
20 | }
21 | }
22 |
23 | task clean(type: Delete) {
24 | delete rootProject.buildDir
25 | }
26 |
--------------------------------------------------------------------------------
/BidMachine/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/BigoAds/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/Mintegral/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/MobileFuse/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/Moloco/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/PubMatic/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/Fyber/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 |
--------------------------------------------------------------------------------
/Google/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 |
--------------------------------------------------------------------------------
/OguryPresage/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/Smaato/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | #-keep public class com.smaato.soma.internal.connector.OrmmaBridge {
11 | #public *;
12 | #}
13 | #-keepattributes *Annotation*
14 |
15 | -keep public class com.smaato.sdk.** { *; }
16 | -keep public interface com.smaato.sdk.** { *; }
17 |
18 | # For Mediation Debugger support
19 | -keepnames class com.smaato.sdk.core.*
20 |
--------------------------------------------------------------------------------
/GoogleAdManager/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 |
--------------------------------------------------------------------------------
/Line/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | -keep class com.five_corp.ad.** { *; }
20 |
--------------------------------------------------------------------------------
/MyTarget/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | -keep class com.my.target.** {*;}
20 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | ext.kotlinVersion = '1.6.10'
5 | repositories {
6 | google()
7 | mavenCentral()
8 | }
9 | dependencies {
10 | classpath 'com.android.tools.build:gradle:8.3.0'
11 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
12 | // NOTE: Do not place your application dependencies here; they belong
13 | // in the individual module build.gradle files
14 | }
15 | }
16 |
17 | allprojects {
18 | repositories {
19 | google()
20 | mavenCentral()
21 | }
22 | }
23 |
24 | task clean(type: Delete) {
25 | delete rootProject.buildDir
26 | }
27 |
--------------------------------------------------------------------------------
/Chartboost/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | -keep class com.chartboost.** { *; }
20 |
--------------------------------------------------------------------------------
/YsoNetwork/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | -keep class com.ysocorp.ysonetwork.** { *; }
20 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/java/com/applovin/enterprise/apps/demoapp/data/main/SectionHeader.java:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.data.main;
2 |
3 | /**
4 | * A {@link ListItem} representing a section header on the main screen
5 | *
6 | * Created by santoshbagadi on 2019-09-10.
7 | */
8 | public class SectionHeader
9 | implements ListItem
10 | {
11 | private final String title;
12 |
13 | public SectionHeader(final String title)
14 | {
15 | this.title = title;
16 | }
17 |
18 | /**
19 | * @return The time of the section header.
20 | */
21 | public String getTitle()
22 | {
23 | return title;
24 | }
25 |
26 | @Override
27 | public int getType()
28 | {
29 | return TYPE_SECTION_HEADER;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/drawable/ic_bug.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/java/com/applovin/enterprise/apps/demoapp/ads/max/banner/BannerAdActivity.kt:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ads.max.banner
2 |
3 | import android.content.Intent
4 |
5 | import com.applovin.enterprise.apps.demoapp.ui.DemoMenuActivity
6 | import com.applovin.enterprise.apps.demoapp.data.main.DemoMenuItem
7 |
8 | class BannerAdActivity : DemoMenuActivity()
9 | {
10 | override fun getListViewContents(): Array = arrayOf(
11 | DemoMenuItem("Programmatic Banners", Intent(this, ProgrammaticBannerAdActivity::class.java)),
12 | DemoMenuItem("Layout Editor Banners", Intent(this, LayoutEditorBannerAdActivity::class.java)),
13 | DemoMenuItem("Jetpack Compose Banners", Intent(this, JetpackComposeBannerAdActivity::class.java)))
14 | }
15 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/drawable/ic_bug.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/Verve/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | -keepattributes Signature
20 | -keep class net.pubnative.** { *; }
21 |
--------------------------------------------------------------------------------
/.github/workflows/issue_stale.yml:
--------------------------------------------------------------------------------
1 | name: Stale and close inactive issues
2 | on:
3 | schedule:
4 | - cron: "0 1 * * *"
5 |
6 | jobs:
7 | close-issues:
8 | runs-on: ubuntu-latest
9 | permissions:
10 | issues: write
11 | steps:
12 | - uses: actions/stale@v9
13 | with:
14 | operations-per-run: 250
15 | exempt-issue-labels: "in progress"
16 | days-before-pr-stale: -1
17 | days-before-pr-close: -1
18 | days-before-issue-stale: 30
19 | days-before-issue-close: 5
20 | stale-issue-label: "stale"
21 | stale-issue-message: "This issue is stale because it has been open for 30 days with no activity."
22 | close-issue-message: "This issue was closed because it has been inactive for 5 days since being marked as stale."
23 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/java/com/applovin/enterprise/apps/demoapp/ads/max/banner/BannerAdActivity.java:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ads.max.banner;
2 |
3 | import android.content.Intent;
4 |
5 | import com.applovin.enterprise.apps.demoapp.ui.DemoMenuActivity;
6 | import com.applovin.enterprise.apps.demoapp.data.main.DemoMenuItem;
7 |
8 | public class BannerAdActivity
9 | extends DemoMenuActivity
10 | {
11 | @Override
12 | protected DemoMenuItem[] getListViewContents()
13 | {
14 | DemoMenuItem[] result = {
15 | new DemoMenuItem( "Programmatic Banners", new Intent( this, ProgrammaticBannerAdActivity.class ) ),
16 | new DemoMenuItem( "Layout Editor Banners", new Intent( this, LayoutEditorBannerAdActivity.class ) ),
17 | };
18 | return result;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/YsoNetwork/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | ## 1.2.7.1
4 | * Introduced `verification.properties` to facilitate adapter ownership verification with Google SDK console.
5 | * Removed redundant log output when initialization was already completed.
6 |
7 | ## 1.2.7.0
8 | * Certified with YSO Network SDK 1.2.7.
9 | * Requires minimum Android API level be 21 or higher.
10 | * Annotated all `Activity` parameters with `@Nullable` to better avoid potential NPEs.
11 |
12 | ## 1.2.6.0
13 | * Certified with YSO Network SDK 1.2.6.
14 |
15 | ## 1.2.4.2
16 | * Added ProGuard rule required by YSO Network SDK.
17 | * Requires minimum Android API level be 23 or higher.
18 |
19 | ## 1.2.4.1
20 | * Fix package name for `ALYsoNetworkMediationAdapter` class to support existing YSO Network integrations.
21 |
22 | ## 1.2.4.0
23 | * Initial commit.
24 | * Minimum AppLovin MAX SDK version 12.6.0.
25 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/java/com/applovin/enterprise/apps/demoapp/ads/max/mrecs/MrecAdActivity.kt:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ads.max.mrecs
2 |
3 | import android.content.Intent
4 | import com.applovin.enterprise.apps.demoapp.ui.DemoMenuActivity
5 | import com.applovin.enterprise.apps.demoapp.data.main.DemoMenuItem
6 |
7 | class MrecAdActivity : DemoMenuActivity() {
8 | override fun getListViewContents(): Array = arrayOf(
9 | DemoMenuItem("Programmatic MRECs", Intent(this, ProgrammaticMrecAdActivity::class.java)),
10 | DemoMenuItem("Layout Editor MRECs", Intent(this, LayoutEditorMrecAdActivity::class.java)),
11 | DemoMenuItem("Recycler View MRECs", Intent(this, RecyclerViewMrecAdActivity::class.java)),
12 | DemoMenuItem("Jetpack Compose MRECs", Intent(this, JetpackComposeMrecAdActivity::class.java)))
13 | }
14 |
--------------------------------------------------------------------------------
/Yandex/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | -keepclassmembers class com.yandex.mobile.ads.* {
20 | public void onImpression(com.yandex.mobile.ads.common.ImpressionData);
21 | }
22 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Facebook/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | -keep class androidx.recyclerview.widget.RecyclerView { *; }
20 | -keep class androidx.appcompat.app.AppCompatActivity { *; }
21 | -keep class com.facebook.ads.BuildConfig { *; }
22 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/java/com/applovin/enterprise/apps/demoapp/SplashActivity.kt:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp
2 |
3 | import android.content.Intent
4 | import android.os.Bundle
5 | import androidx.appcompat.app.AppCompatActivity
6 |
7 | import com.applovin.sdk.AppLovinSdkUtils
8 | import java.util.concurrent.TimeUnit
9 |
10 | class SplashActivity : AppCompatActivity()
11 | {
12 | override fun onCreate(savedInstanceState: Bundle?)
13 | {
14 | super.onCreate(savedInstanceState)
15 | setContentView(R.layout.activity_splash)
16 |
17 | AppLovinSdkUtils.runOnUiThreadDelayed({
18 | val intent = Intent(this, MainActivity::class.java)
19 | intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NO_ANIMATION)
20 | startActivity(intent)
21 | }, TimeUnit.SECONDS.toMillis(2))
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/AmazonAdMarketplace/build.gradle.kts:
--------------------------------------------------------------------------------
1 | import com.applovin.build.extensions.appendDependency
2 |
3 | plugins {
4 | id("adapter-config")
5 | }
6 |
7 | afterEvaluate {
8 | apply(plugin = "adapter-publish")
9 | }
10 |
11 | val libraryVersionName by extra("11.0.0.0")
12 | val libraryArtifactId by extra("amazon-tam-adapter")
13 |
14 | android.defaultConfig.minSdk = 19
15 |
16 | dependencies {
17 | implementation(libs.androidx.appcompat)
18 | implementation(libs.iabtcf)
19 | }
20 |
21 | publishing {
22 | publications {
23 | create("Adapter") {
24 | //The publication doesn't know about our dependencies, so we have to manually add them to the pom
25 | pom.withXml {
26 | asNode().apply {
27 | appendNode("dependencies")
28 | .appendDependency(libs.iabtcf)
29 | }
30 | }
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/IronSource/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
13 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/java/com/applovin/enterprise/apps/demoapp/ads/max/mrecs/MrecAdActivity.java:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ads.max.mrecs;
2 |
3 | import android.content.Intent;
4 |
5 | import com.applovin.enterprise.apps.demoapp.ui.DemoMenuActivity;
6 | import com.applovin.enterprise.apps.demoapp.data.main.DemoMenuItem;
7 |
8 | public class MrecAdActivity
9 | extends DemoMenuActivity
10 | {
11 | @Override
12 | protected DemoMenuItem[] getListViewContents()
13 | {
14 | DemoMenuItem[] result = {
15 | new DemoMenuItem( "Programmatic MRECs", new Intent( this, ProgrammaticMrecAdActivity.class ) ),
16 | new DemoMenuItem( "Layout Editor MRECs", new Intent( this, LayoutEditorMrecAdActivity.class ) ),
17 | new DemoMenuItem( "Recycler View MRECs", new Intent( this, RecyclerViewMrecAdActivity.class ) ),
18 | };
19 | return result;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_mrec_recycler_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_mrec_recycler_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/java/com/applovin/enterprise/apps/demoapp/ads/max/nativead/NativeAdActivity.kt:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ads.max.nativead
2 |
3 | import android.content.Intent
4 | import com.applovin.enterprise.apps.demoapp.ui.DemoMenuActivity
5 | import com.applovin.enterprise.apps.demoapp.data.main.DemoMenuItem
6 |
7 | class NativeAdActivity : DemoMenuActivity() {
8 | override fun getListViewContents(): Array = arrayOf(
9 | DemoMenuItem("Templates API", Intent(this, TemplateNativeAdActivity::class.java)),
10 | DemoMenuItem("Manual API", Intent(this, ManualNativeAdActivity::class.java)),
11 | DemoMenuItem("Manual Late Binding API", Intent(this, ManualNativeLateBindingAdActivity::class.java)),
12 | DemoMenuItem("Recycler View Ad Placer", Intent(this, RecyclerViewNativeAdActivity::class.java)),
13 | DemoMenuItem("Jetpack Compose Templates API", Intent(this, JetpackComposeTemplateNativeAdActivity::class.java))
14 | )
15 | }
16 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/java/com/applovin/enterprise/apps/demoapp/SplashActivity.java:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp;
2 |
3 | import android.content.Intent;
4 | import android.os.Bundle;
5 |
6 | import androidx.appcompat.app.AppCompatActivity;
7 |
8 | import com.applovin.sdk.AppLovinSdkUtils;
9 |
10 | import java.util.concurrent.TimeUnit;
11 |
12 | public class SplashActivity
13 | extends AppCompatActivity
14 | {
15 | @Override
16 | protected void onCreate(Bundle savedInstanceState)
17 | {
18 | super.onCreate( savedInstanceState );
19 | setContentView( R.layout.activity_splash );
20 |
21 | AppLovinSdkUtils.runOnUiThreadDelayed( () -> {
22 | Intent intent = new Intent( SplashActivity.this, MainActivity.class );
23 | intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION );
24 | startActivity( intent );
25 | }, TimeUnit.SECONDS.toMillis( 2 ) );
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | AppLovin MAX Demo App
3 |
4 | Interstitial Ads
5 | App Open Ads
6 | Rewarded Ads
7 | Programmatic Banner Ads
8 | Layout Editor Banner Ads
9 | Layout Editor MREC Ads
10 | Programmatic MREC Ads
11 | Recycler View MREC Ads
12 | Templates API
13 | Manual API
14 | Manual Late Bidding API
15 |
16 | App Lovin
17 |
18 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/java/com/applovin/enterprise/apps/demoapp/data/main/Footer.kt:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.data.main
2 |
3 | import android.os.Build
4 | import com.applovin.sdk.AppLovinSdk
5 |
6 |
7 | /**
8 | * A [ListItem] representing a footer on the main screen
9 | *
10 | * Created by Jason Zheng on 7/15/2020.
11 | */
12 | data class Footer(override val type: Int = ListItem.FOOTER) : ListItem
13 | {
14 | fun getAppDetails(): String
15 | {
16 | val sdkVersion: String = AppLovinSdk.VERSION
17 | val fields = Build.VERSION_CODES::class.java.fields
18 | var versionName = "UNKNOWN"
19 | fields.filter { it.getInt(Build.VERSION_CODES::class) == Build.VERSION.SDK_INT }
20 | .forEach { versionName = it.name }
21 | val apiLevel = Build.VERSION.SDK_INT
22 |
23 | return """
24 | SDK Version: $sdkVersion
25 | OS Version: $versionName(API $apiLevel)
26 |
27 | Language: Kotlin
28 | """.trimIndent()
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/java/com/applovin/enterprise/apps/demoapp/ads/max/nativead/NativeAdActivity.java:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ads.max.nativead;
2 |
3 | import android.content.Intent;
4 |
5 | import com.applovin.enterprise.apps.demoapp.ui.DemoMenuActivity;
6 | import com.applovin.enterprise.apps.demoapp.data.main.DemoMenuItem;
7 |
8 | public class NativeAdActivity
9 | extends DemoMenuActivity
10 | {
11 | @Override
12 | protected DemoMenuItem[] getListViewContents()
13 | {
14 | DemoMenuItem[] result = {
15 | new DemoMenuItem( "Templates API", new Intent( this, TemplateNativeAdActivity.class ) ),
16 | new DemoMenuItem( "Manual API", new Intent( this, ManualNativeAdActivity.class ) ),
17 | new DemoMenuItem( "Manual Late Binding API", new Intent( this, ManualNativeLateBindingAdActivity.class ) ),
18 | new DemoMenuItem( "Recycler View Ad Placer", new Intent( this, RecyclerViewNativeAdActivity.class ) )
19 | };
20 | return result;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_programmatic_banner_ad.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Smaato/build.gradle.kts:
--------------------------------------------------------------------------------
1 | import com.applovin.build.extensions.appendDependency
2 |
3 | plugins {
4 | id("adapter-config")
5 | }
6 |
7 | afterEvaluate {
8 | apply(plugin = "adapter-publish")
9 | }
10 |
11 | val libraryVersionName by extra("22.7.2.1")
12 | val minAppLovinSdkVersion by extra("13.0.0")
13 |
14 | android.defaultConfig.minSdk = 21
15 |
16 | repositories {
17 | maven { url = uri("https://s3.amazonaws.com/smaato-sdk-releases/") }
18 | }
19 |
20 | dependencies {
21 | implementation(libs.androidx.lifecycle.extensions)
22 | }
23 |
24 | publishing {
25 | publications {
26 | create("Adapter") {
27 | //The publication doesn't know about our dependencies, so we have to manually add them to the pom
28 | pom.withXml {
29 | asNode().apply {
30 | // Add Smaato network to list of dependencies.
31 | appendNode("dependencies")
32 | .appendDependency(libs.androidx.lifecycle.extensions)
33 | }
34 | }
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_programmatic_banner_ad.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_programmatic_mrec_ad.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/java/com/applovin/enterprise/apps/demoapp/data/main/DemoMenuItem.java:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.data.main;
2 |
3 | import android.content.Intent;
4 |
5 | public class DemoMenuItem
6 | implements ListItem
7 | {
8 | private final String title;
9 | private final Intent intent;
10 | private final Runnable runnable;
11 |
12 | public DemoMenuItem(final String title, final Intent intent)
13 | {
14 | this.title = title;
15 | this.intent = intent;
16 | this.runnable = null;
17 | }
18 |
19 | public DemoMenuItem(final String title, final Runnable runnable)
20 | {
21 | this.title = title;
22 | this.intent = null;
23 | this.runnable = runnable;
24 | }
25 |
26 | public String getTitle()
27 | {
28 | return title;
29 | }
30 | public Intent getIntent()
31 | {
32 | return intent;
33 | }
34 | public Runnable getRunnable()
35 | {
36 | return runnable;
37 | }
38 |
39 | @Override
40 | public int getType()
41 | {
42 | return TYPE_AD_ITEM;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_programmatic_mrec_ad.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
14 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx1536m
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
14 | # AndroidX package structure to make it clearer which packages are bundled with the
15 | # Android operating system, and which are packaged with your app's APK
16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn
17 | android.useAndroidX=true
18 | # Automatically convert third-party libraries to use AndroidX
19 | android.enableJetifier=true
20 |
21 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
14 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/ByteDance/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | -keep public interface com.bytedance.sdk.openadsdk.downloadnew.** {*;}
20 | -keep class com.pgl.sys.ces.* {*;}
21 |
22 | -keep class com.bytedance.sdk.openadsdk.** { *; }
23 | -keep class com.bytedance.frameworks.** { *; }
24 |
25 | -keep class ms.bd.c.Pgl.**{*;}
26 | -keep class com.bytedance.mobsec.metasec.ml.**{*;}
27 |
28 | -keep class com.ss.android.**{*;}
29 |
30 | -keep class com.bytedance.embedapplog.** {*;}
31 | -keep class com.bytedance.embed_dr.** {*;}
32 |
33 | -keep class com.bykv.vk.** {*;}
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx1536m
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
14 | # AndroidX package structure to make it clearer which packages are bundled with the
15 | # Android operating system, and which are packaged with your app's APK
16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn
17 | android.useAndroidX=true
18 | # Automatically convert third-party libraries to use AndroidX
19 | android.enableJetifier=true
20 | # Kotlin code style for this project: "official" or "obsolete":
21 | kotlin.code.style=official
22 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/ad_callback_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/ad_callback_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/footer_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/THIRD PARTY NOTICES.md:
--------------------------------------------------------------------------------
1 | **This package contains third party software components governed by the license(s) indicated below:**
2 |
3 | ## ExoPlayer v.2.15.1 Copyright ©2022 AppLovin
4 |
5 | Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0.
8 |
9 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
10 |
11 | ## Google Guava v.27.1-android Copyright ©2019 The Guava Authors
12 |
13 | Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
14 |
15 | http://www.apache.org/licenses/LICENSE-2.0.
16 |
17 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
18 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/recycler_view_footer_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/UnityAds/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Keep filenames and line numbers for stack traces
20 | -keepattributes SourceFile,LineNumberTable
21 |
22 | # Keep JavascriptInterface for WebView bridge
23 | -keepattributes JavascriptInterface
24 |
25 | # Sometimes keepattributes is not enough to keep annotations
26 | -keep class android.webkit.JavascriptInterface {
27 | *;
28 | }
29 |
30 | # Keep all classes in Unity Ads package
31 | -keep class com.unity3d.ads.** {
32 | *;
33 | }
34 |
35 | # Keep all classes in Unity Services package
36 | -keep class com.unity3d.services.** {
37 | *;
38 | }
39 |
40 | -dontwarn com.google.ar.core.**
41 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | AppLovin MAX Demo App
3 |
4 | Interstitial Ads
5 |
6 | App Open Ads
7 |
8 | Rewarded Ads
9 |
10 | Programmatic Banners
11 | Layout Editor Banners
12 | Jetpack Compose Banners
13 |
14 | Layout Editor MRECs
15 | Programmatic MRECs
16 | Recycler View MRECs
17 | Jetpack Compose MRECs
18 |
19 | Templates API
20 | Manual API
21 | Manual Late Bidding API
22 | Jetpack Compose Templates
23 |
24 | App Lovin
25 |
26 |
--------------------------------------------------------------------------------
/IronSource/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | -keepclassmembers class com.ironsource.sdk.controller.IronSourceWebView$JSInterface {
20 | public *;
21 | }
22 | -keepclassmembers class * implements android.os.Parcelable {
23 | public static final android.os.Parcelable$Creator *;
24 | }
25 | -keep public class com.google.android.gms.ads.** {
26 | public *;
27 | }
28 | -keep class com.ironsource.adapters.** { *;
29 | }
30 | -dontwarn com.ironsource.mediationsdk.**
31 | -dontwarn com.ironsource.adapters.**
32 | -dontwarn com.moat.**
33 | -keep class com.moat.** { public protected private *; }
34 |
35 | -keep class com.ironsource.mediationsdk.** { *; }
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/section_header_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/section_header_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/java/com/applovin/enterprise/apps/demoapp/ui/CallbacksRecyclerViewAdapter.kt:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ui
2 |
3 | import android.content.Context
4 | import android.view.LayoutInflater
5 | import android.view.View
6 | import android.view.ViewGroup
7 | import android.widget.TextView
8 | import androidx.recyclerview.widget.RecyclerView
9 |
10 | import com.applovin.enterprise.apps.demoapp.R
11 |
12 | /**
13 | * [RecyclerView.Adapter] for the callback RecyclerView in ad activities.
14 | *
15 | * Created by Harry Arakkal on 2019-10-18.
16 | */
17 | class CallbacksRecyclerViewAdapter(private val callbacks: List, context: Context)
18 | : RecyclerView.Adapter()
19 | {
20 | private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
21 |
22 | override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder
23 | {
24 | return ViewHolder(layoutInflater.inflate(R.layout.ad_callback_item, parent, false))
25 | }
26 |
27 | override fun onBindViewHolder(holder: ViewHolder, position: Int)
28 | {
29 | holder.callbackName.text = callbacks[position]
30 | }
31 |
32 | override fun getItemCount(): Int
33 | {
34 | return callbacks.count()
35 | }
36 |
37 | inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view)
38 | {
39 | val callbackName: TextView = view.findViewById(R.id.callbackName)
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_app_open_ad.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
18 |
19 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_rewarded_ad.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
18 |
19 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_interstitial_ad.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
18 |
19 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_layout_editor_banner_ad.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
18 |
19 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Vungle/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Vungle
20 | -keep class com.vungle.ads.** { *; }
21 |
22 | # Moat SDK
23 | -keep class com.moat.** { *; }
24 | -dontwarn com.moat.**
25 |
26 | # Okio
27 | -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
28 |
29 | # Retrofit
30 | -dontwarn okio.**
31 | -dontwarn retrofit2.Platform$Java8
32 |
33 | # Gson
34 | -keepattributes Signature
35 | -keepattributes *Annotation*
36 | -dontwarn sun.misc.**
37 | -keep class com.google.gson.examples.android.model.** { *; }
38 | -keep class * implements com.google.gson.TypeAdapterFactory
39 | -keep class * implements com.google.gson.JsonSerializer
40 | -keep class * implements com.google.gson.JsonDeserializer
41 |
42 | # Google Android Advertising ID
43 | -keep class com.google.android.gms.internal.** { *; }
44 | -dontwarn com.google.android.gms.ads.identifier.**
45 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_app_open_ad.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
18 |
19 |
30 |
31 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_rewarded_ad.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
18 |
19 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_interstitial_ad.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
18 |
19 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_layout_editor_mrec_ad.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
20 |
21 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_layout_editor_banner_ad.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
19 |
20 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_layout_editor_mrec_ad.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
20 |
21 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/InMobi/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/basil/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | -keepattributes SourceFile,LineNumberTable
20 | -keep class com.inmobi.** { *; }
21 | -dontwarn com.inmobi.**
22 | -keep public class com.google.android.gms.**
23 | -dontwarn com.google.android.gms.**
24 | -dontwarn com.squareup.picasso.**
25 | -keep class com.google.android.gms.ads.identifier.AdvertisingIdClient{public *;}
26 | -keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info{public *;}
27 |
28 | #skip the Picasso library classes
29 | -keep class com.squareup.picasso.** {*;}
30 | -dontwarn com.squareup.picasso.**
31 | -dontwarn com.squareup.okhttp.**
32 |
33 | #skip Moat classes
34 | -keep class com.moat.** {*;}
35 | -dontwarn com.moat.**
36 |
37 | #skip AVID classes
38 | -keep class com.integralads.avid.library.** {*;}
39 |
40 | #skip AndroidX libraries
41 | -keep class androidx.browser.customtabs.CustomTabsService { *; }
42 | -keep class androidx.recyclerview.widget.RecyclerView { *; }
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_native_manual.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
14 |
15 |
24 |
25 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_native_template.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
14 |
15 |
24 |
25 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_native_manual.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
14 |
15 |
24 |
25 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_native_template.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
14 |
15 |
24 |
25 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/BigoAds/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | ## 5.3.0.2
4 | * Removed requirement of the title asset for native banners and MRECs.
5 |
6 | ## 5.3.0.1
7 | * Add support for respecting mute state for native ads.
8 |
9 | ## 5.3.0.0
10 | * Certified with BigoAds SDK 5.3.0.
11 |
12 | ## 5.2.1.0
13 | * Certified with BigoAds SDK 5.2.1.
14 |
15 | ## 5.2.0.0
16 | * Certified with BigoAds SDK 5.2.0.
17 |
18 | ## 5.1.0.1
19 | * Introduced `verification.properties` to facilitate adapter ownership verification with Google SDK console.
20 |
21 | ## 5.1.0.0
22 | * Certified with BigoAds SDK 5.1.0.
23 | * Removed redundant log output when initialization was already completed.
24 |
25 | ## 5.0.2.0
26 | * Certified with BigoAds SDK 5.0.2.
27 | * Add support for providing native media content aspect ratio in `MaxNativeAdView`.
28 |
29 | ## 4.9.1.2
30 | * Explicitly fail ad load with code `-5202` if unable to map ad view ad format to that of the network's.
31 | * Revert minimum AppLovin MAX SDK version to 12.4.1.
32 |
33 | ## 4.9.1.1
34 | * Annotated all `Activity` parameters with `@Nullable` to better avoid potential NPEs.
35 | * Add support for native ads in external plugins. Requires minimum React Native Plugin 8.0.4 or Flutter Plugin 4.0.2.
36 |
37 | ## 4.9.1.0
38 | * Certified with BigoAds SDK 4.9.1.
39 | * Remove deprecated native API usages.
40 |
41 | ## 4.7.0.0
42 | * Certified with BigoAds SDK 4.7.0.
43 |
44 | ## 4.6.1.2
45 | * Fix `Null extracted folder for artifact` build error when using AGP < 8.0.
46 |
47 | ## 4.6.1.1
48 | * Fix a dependency issue with previous adapter version.
49 |
50 | ## 4.6.1.0
51 | * Certified with BigoAds SDK 4.6.1.
52 |
53 | ## 4.5.1.0
54 | * Initial commit.
55 | * Minimum AppLovin MAX SDK version 12.4.1.
56 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/java/com/applovin/enterprise/apps/demoapp/data/main/FooterType.java:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.data.main;
2 |
3 | import android.os.Build;
4 | import android.util.Log;
5 |
6 | import com.applovin.sdk.AppLovinSdk;
7 |
8 | import java.lang.reflect.Field;
9 |
10 | public class FooterType
11 | implements ListItem
12 | {
13 | private static final String TAG = "Footer";
14 |
15 | /**
16 | * @return The device details: App Version, SDK Version, OS Version
17 | */
18 | public String getAppDetails()
19 | {
20 | String sdkVersion = AppLovinSdk.VERSION;
21 | String versionName = versionName();
22 | int apiLevel = Build.VERSION.SDK_INT;
23 |
24 | String footer = "\nSDK Version: " + sdkVersion +
25 | "\nOS Version: " + versionName + "(API " + apiLevel + ")" +
26 | "\n " +
27 | "\nLanguage: Java";
28 | return footer;
29 | }
30 |
31 | private String versionName()
32 | {
33 | Field[] fields = Build.VERSION_CODES.class.getFields();
34 | for ( Field field : fields )
35 | {
36 | try
37 | {
38 | if ( field.getInt( Build.VERSION_CODES.class ) == Build.VERSION.SDK_INT )
39 | {
40 | return field.getName();
41 | }
42 | }
43 | catch ( Throwable th )
44 | {
45 | Log.e( TAG, "Unable to get Android SDK codename", th );
46 | }
47 | }
48 | return "UNKNOWN";
49 | }
50 |
51 | @Override
52 | public int getType()
53 | {
54 | return TYPE_FOOTER;
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/java/com/applovin/enterprise/apps/demoapp/ads/max/mrecs/JetpackComposeMrecAdActivity.kt:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ads.max.mrecs
2 |
3 | import android.os.Bundle
4 | import androidx.activity.compose.setContent
5 | import androidx.compose.foundation.layout.Column
6 | import androidx.compose.foundation.layout.fillMaxSize
7 | import androidx.compose.ui.Alignment
8 | import androidx.compose.ui.Modifier
9 | import com.applovin.enterprise.apps.demoapp.R
10 | import com.applovin.enterprise.apps.demoapp.ui.BaseJetpackComposeAdActivity
11 | import com.applovin.enterprise.apps.demoapp.ui.composables.MaxAdViewComposable
12 | import com.applovin.enterprise.apps.demoapp.ui.composables.MaxAdViewComposableViewModel
13 | import com.applovin.mediation.MaxAdFormat
14 |
15 | /**
16 | * [android.app.Activity] used to show AppLovin MAX MREC ads using Jetpack Compose.
17 | *
18 | * Created by Matthew Nguyen on 2023-07-20.
19 | */
20 | class JetpackComposeMrecAdActivity : BaseJetpackComposeAdActivity() {
21 | private lateinit var mrecViewModel: MaxAdViewComposableViewModel
22 |
23 | override fun onCreate(savedInstanceState: Bundle?) {
24 | super.onCreate(savedInstanceState)
25 | setTitle(R.string.activity_jetpack_compose_mrecs)
26 |
27 | // Initialize ad with ad loader.
28 | mrecViewModel = MaxAdViewComposableViewModel(this)
29 | setContent {
30 | Column(
31 | modifier = Modifier.fillMaxSize(),
32 | horizontalAlignment = Alignment.CenterHorizontally
33 | )
34 | {
35 | MaxAdViewComposable("YOUR_AD_UNIT_ID", MaxAdFormat.MREC, mrecViewModel)
36 | ListCallbacks()
37 | }
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/PubMatic/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | ## 4.5.2.0
4 | * Certified with PubMatic SDK 4.5.2.
5 |
6 | ## 4.5.1.0
7 | * Certified with PubMatic SDK 4.5.1.
8 |
9 | ## 4.5.0.0
10 | * Certified with PubMatic SDK 4.5.0.
11 |
12 | ## 4.4.0.1
13 | * Updated to support gpid (Global Placement ID).
14 |
15 | ## 4.4.0.0
16 | * Certified with PubMatic SDK 4.4.0.
17 |
18 | ## 4.3.0.1
19 | * Introduced `verification.properties` to facilitate adapter ownership verification with Google SDK console.
20 |
21 | ## 4.3.0.0
22 | * Certified with PubMatic SDK 4.3.0.
23 |
24 | ## 4.2.0.1
25 | * Updated to use bidding specific APIs .
26 |
27 | ## 4.2.0.0
28 | * Certified with PubMatic SDK 4.2.0.
29 | * Removed redundant log output when initialization was already completed.
30 |
31 | ## 4.1.0.0
32 | * Certified with PubMatic SDK 4.1.0.
33 | * Annotated all `Activity` parameters with `@Nullable` to better avoid potential NPEs.
34 |
35 | ## 4.0.1.0
36 | * Certified with PubMatic SDK 4.0.1.
37 |
38 | ## 4.0.0.0
39 | * Certified with PubMatic SDK 4.0.0.
40 |
41 | ## 3.9.0.2
42 | * Requires minimum AppLovin MAX SDK version be 13.0.0.
43 | * Removed support for COPPA.
44 | * Improve error handling.
45 |
46 | ## 3.9.0.1
47 | * Skip signal collection for unsupported ad formats (applicable for test mode).
48 |
49 | ## 3.9.0.0
50 | * Certified with PubMatic SDK 3.9.0.
51 | * Updated PubMatic Maven repo URL.
52 |
53 | ## 3.8.0.0
54 | * Certified with PubMatic SDK 3.8.0.
55 | * Update ad display failed error code.
56 |
57 | ## 3.7.0.2
58 | * Fixed to load and show banner and interstitial ads on UI thread to avoid crash: `IllegalStateException: Calling View methods on another thread than the UI thread`.
59 |
60 | ## 3.7.0.1
61 | * Fixed errors when parsing server parameters.
62 |
63 | ## 3.7.0.0
64 | * Initial implementation.
65 | * Minimum AppLovin MAX SDK version 12.6.0.
66 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/java/com/applovin/enterprise/apps/demoapp/ads/max/banner/JetpackComposeBannerAdActivity.kt:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ads.max.banner
2 |
3 | import android.os.Bundle
4 | import androidx.activity.compose.setContent
5 | import androidx.compose.foundation.layout.Column
6 | import androidx.compose.foundation.layout.fillMaxSize
7 | import androidx.compose.ui.Modifier
8 | import com.applovin.enterprise.apps.demoapp.R
9 | import com.applovin.enterprise.apps.demoapp.ui.BaseJetpackComposeAdActivity
10 | import com.applovin.enterprise.apps.demoapp.ui.composables.MaxAdViewComposable
11 | import com.applovin.enterprise.apps.demoapp.ui.composables.MaxAdViewComposableViewModel
12 | import com.applovin.mediation.MaxAdFormat
13 | import com.applovin.sdk.AppLovinSdkUtils
14 |
15 | /**
16 | * A [android.app.Activity] to show AppLovin MAX banner ads using Jetpack Compose.
17 | *
18 | * Created by Matthew Nguyen on 7/13/2023
19 | */
20 | class JetpackComposeBannerAdActivity : BaseJetpackComposeAdActivity() {
21 | private lateinit var bannerViewModel: MaxAdViewComposableViewModel
22 |
23 | override fun onCreate(savedInstanceState: Bundle?) {
24 | super.onCreate(savedInstanceState)
25 | setTitle(R.string.activity_jetpack_compose_banners)
26 |
27 | // Initialize ad with ad loader.
28 | bannerViewModel = MaxAdViewComposableViewModel(this)
29 |
30 | val isTablet = AppLovinSdkUtils.isTablet(this)
31 | val adFormat = if (isTablet) MaxAdFormat.LEADER else MaxAdFormat.BANNER
32 |
33 | setContent {
34 | Column(
35 | modifier = Modifier
36 | .fillMaxSize()
37 | )
38 | {
39 | MaxAdViewComposable("YOUR_AD_UNIT_ID", adFormat, bannerViewModel)
40 | ListCallbacks()
41 | }
42 | }
43 | }
44 |
45 | }
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/ad_type_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
28 |
29 |
41 |
42 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/ad_type_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
28 |
29 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/java/com/applovin/enterprise/apps/demoapp/ui/CallbacksRecyclerViewAdapter.java:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ui;
2 |
3 | import android.content.Context;
4 | import android.view.LayoutInflater;
5 | import android.view.View;
6 | import android.view.ViewGroup;
7 | import android.widget.TextView;
8 |
9 | import androidx.annotation.NonNull;
10 | import androidx.recyclerview.widget.RecyclerView;
11 |
12 | import com.applovin.enterprise.apps.demoapp.R;
13 |
14 | import java.util.List;
15 |
16 | /**
17 | * {@link RecyclerView.Adapter} for the callback RecyclerView in ad activities.
18 | *
19 | * Created by Harry Arakkal on 2019-10-21.
20 | */
21 | public class CallbacksRecyclerViewAdapter
22 | extends RecyclerView.Adapter
23 | {
24 | private final List callbacks;
25 | private final LayoutInflater layoutInflater;
26 |
27 | CallbacksRecyclerViewAdapter(final List callbacks, final Context context)
28 | {
29 | this.callbacks = callbacks;
30 | this.layoutInflater = LayoutInflater.from( context );
31 | }
32 |
33 | @NonNull
34 | @Override
35 | public ViewHolder onCreateViewHolder(@NonNull final ViewGroup parent, final int viewType)
36 | {
37 | return new ViewHolder( layoutInflater.inflate( R.layout.ad_callback_item, parent, false ) );
38 | }
39 |
40 | @Override
41 | public void onBindViewHolder(@NonNull final ViewHolder holder, final int position)
42 | {
43 | holder.callbackName.setText( callbacks.get( position ) );
44 | }
45 |
46 | @Override
47 | public int getItemCount()
48 | {
49 | return callbacks.size();
50 | }
51 |
52 | class ViewHolder
53 | extends RecyclerView.ViewHolder
54 | {
55 | private final TextView callbackName;
56 |
57 | ViewHolder(View view)
58 | {
59 | super( view );
60 | callbackName = view.findViewById( R.id.callbackName );
61 | }
62 |
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/java/com/applovin/enterprise/apps/demoapp/ui/BaseAdActivity.kt:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ui
2 |
3 | import androidx.appcompat.app.AppCompatActivity
4 | import androidx.recyclerview.widget.DividerItemDecoration
5 | import androidx.recyclerview.widget.LinearLayoutManager
6 | import androidx.recyclerview.widget.RecyclerView
7 | import com.applovin.enterprise.apps.demoapp.R
8 |
9 | /**
10 | * Base for activities showing ads.
11 | *
12 | * Created by Harry Arakkal on 2019-10-18.
13 | */
14 | abstract class BaseAdActivity : AppCompatActivity()
15 | {
16 | private lateinit var callbacksAdapter: CallbacksRecyclerViewAdapter
17 | private val callbacks: MutableList = mutableListOf()
18 |
19 | /**
20 | * Setup callbacks RecyclerView adapter and appearance.
21 | */
22 | protected fun setupCallbacksRecyclerView()
23 | {
24 | callbacksAdapter = CallbacksRecyclerViewAdapter(callbacks, this)
25 | val manager = LinearLayoutManager(this)
26 | val decoration = DividerItemDecoration(this, manager.orientation)
27 |
28 | val callbacksRecyclerView = findViewById(R.id.callbacksRecyclerView)
29 | callbacksRecyclerView.apply {
30 | setHasFixedSize(true)
31 | adapter = callbacksAdapter
32 | layoutManager = manager
33 | addItemDecoration(decoration)
34 | }
35 | }
36 |
37 | /**
38 | * Log ad callbacks in the RecyclerView.
39 | * Uses the name of the function that calls this one in the log.
40 | */
41 | protected fun logCallback()
42 | {
43 | val callbackName = Throwable().stackTrace[1].methodName
44 | callbacks.add(callbackName)
45 |
46 | callbacksAdapter.notifyItemInserted(callbacks.lastIndex)
47 | }
48 |
49 | protected fun logAnonymousCallback()
50 | {
51 | val callbackName = Throwable().stackTrace[2].methodName
52 | callbacks.add(callbackName)
53 |
54 | callbacksAdapter.notifyItemInserted(callbacks.lastIndex)
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | def isLocalAppLovinWorkspace = rootProject.name == "Android-Workspace"
4 |
5 | android {
6 | namespace "com.applovin.enterprise.apps.demoapp"
7 | compileSdk 34
8 |
9 | defaultConfig {
10 | applicationId "com.applovin.enterprise.apps.demoapp"
11 | minSdkVersion 16
12 | targetSdk 34
13 | versionCode 10000
14 | versionName "1.0"
15 | multiDexEnabled true
16 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
17 | vectorDrawables.useSupportLibrary = true
18 | }
19 | buildTypes {
20 | release {
21 | minifyEnabled false
22 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
23 | }
24 | }
25 | compileOptions {
26 | sourceCompatibility = 1.8
27 | targetCompatibility = 1.8
28 | }
29 | if (isLocalAppLovinWorkspace) {
30 | flavorDimensions "default"
31 | productFlavors {
32 | // There is only one flavor for running SDK in
33 | app {
34 | matchingFallbacks = ['app', 'standalone']
35 | }
36 | }
37 | }
38 | }
39 |
40 | dependencies {
41 | implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
42 | implementation 'androidx.appcompat:appcompat:1.1.0'
43 | implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
44 | implementation 'com.google.android.material:material:1.1.0'
45 | implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
46 | implementation 'androidx.recyclerview:recyclerview:1.2.1'
47 |
48 | implementation 'com.adjust.sdk:adjust-android:4.28.7'
49 | implementation 'com.android.installreferrer:installreferrer:2.2'
50 |
51 | implementation 'com.google.android.gms:play-services-ads-identifier:17.1.0'
52 |
53 | if (isLocalAppLovinWorkspace) {
54 | implementation(project(":Android-SDK"))
55 | } else {
56 | implementation("com.applovin:applovin-sdk:+@aar")
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_native_manual_late_binding.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
14 |
15 |
24 |
25 |
35 |
36 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_native_manual_late_binding.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
14 |
15 |
24 |
25 |
35 |
36 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/Moloco/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | ## 3.9.0.1
4 | * Removed requirement of the title asset for native banners and MRECs.
5 |
6 | ## 3.9.0.0
7 | * Certified with Moloco SDK 3.9.0.
8 |
9 | ## 3.8.0.0
10 | * Certified with Moloco SDK 3.8.0.
11 |
12 | ## 3.7.2.0
13 | * Certified with Moloco SDK 3.7.2.
14 |
15 | ## 3.7.1.0
16 | * Certified with Moloco SDK 3.7.1.
17 |
18 | ## 3.7.0.0
19 | * Certified with Moloco SDK 3.7.0.
20 |
21 | ## 3.6.1.1
22 | * Introduced `verification.properties` to facilitate adapter ownership verification with Google SDK console.
23 |
24 | ## 3.6.1.0
25 | * Certified with Moloco SDK 3.6.1.
26 |
27 | ## 3.6.0.1
28 | * Downgrade Moloco SDK to 3.5.0 due to crashes with Moloco SDK 3.6.0.
29 |
30 | ## 3.6.0.0
31 | * Certified with Moloco SDK 3.6.0.
32 |
33 | ## 3.5.0.0
34 | * Certified with Moloco SDK 3.5.0.
35 | * Add support for native and native ad view ads.
36 |
37 | ## 3.4.0.0
38 | * Certified with Moloco SDK 3.4.0.
39 | * Removed redundant log output when initialization was already completed.
40 |
41 | ## 3.3.0.1
42 | * Removed unnecessary `Activity` null checks for ad loads.
43 |
44 | ## 3.3.0.0
45 | * Certified with Moloco SDK 3.3.0.
46 | * Annotated all `Activity` parameters with `@Nullable` to better avoid potential NPEs.
47 |
48 | ## 3.2.0.0
49 | * Certified with Moloco SDK 3.2.0.
50 |
51 | ## 3.1.0.1
52 | * Requires minimum AppLovin MAX SDK version be 13.0.0.
53 | * Removed support for COPPA.
54 | * Remove deprecated native API usages.
55 |
56 | ## 3.1.0.0
57 | * Certified with Moloco SDK 3.1.0.
58 |
59 | ## 3.0.2.0
60 | * Certified with Moloco SDK 3.0.2.
61 |
62 | ## 3.0.1.0
63 | * Certified with Moloco SDK 3.0.1.
64 |
65 | ## 3.0.0.0
66 | * Certified with Moloco SDK 3.0.0.
67 |
68 | ## 2.3.0.0
69 | * Certified with Moloco SDK 2.3.0.
70 | * Update to use new APIs for creating ads that do not require `Activity` as a parameter.
71 | * Remove `io.insert-koin:koin-android:3.5.6` as a dependency.
72 |
73 | ## 2.2.0.1
74 | * Add `io.insert-koin:koin-android:3.5.6` as a dependency.
75 |
76 | ## 2.2.0.0
77 | * Certified with Moloco SDK 2.2.0.
78 |
79 | ## 2.1.1.1
80 | * Fix `Null extracted folder for artifact` build error when using AGP < 8.0.
81 |
82 | ## 2.1.1.0
83 | * Initial commit.
84 | * Minimum AppLovin MAX SDK version 12.3.0.
85 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/java/com/applovin/enterprise/apps/demoapp/ui/BaseAdActivity.java:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ui;
2 |
3 | import com.applovin.enterprise.apps.demoapp.R;
4 |
5 | import java.util.ArrayList;
6 | import java.util.List;
7 |
8 | import androidx.appcompat.app.AppCompatActivity;
9 | import androidx.recyclerview.widget.DividerItemDecoration;
10 | import androidx.recyclerview.widget.LinearLayoutManager;
11 | import androidx.recyclerview.widget.RecyclerView;
12 |
13 | /**
14 | * Base for activities showing ads.
15 | *
16 | * Created by Harry Arakkal on 2019-10-21.
17 | */
18 | public abstract class BaseAdActivity
19 | extends AppCompatActivity
20 | {
21 | private CallbacksRecyclerViewAdapter callbacksAdapter;
22 | private final List callbacks = new ArrayList<>();
23 |
24 | /**
25 | * Setup callbacks RecyclerView adapter and appearance.
26 | */
27 | protected void setupCallbacksRecyclerView()
28 | {
29 | callbacksAdapter = new CallbacksRecyclerViewAdapter( callbacks, this );
30 | LinearLayoutManager manager = new LinearLayoutManager( this );
31 | DividerItemDecoration decoration = new DividerItemDecoration( this, manager.getOrientation() );
32 |
33 | RecyclerView callbacksRecyclerView = findViewById( R.id.callbacks_recycler_view );
34 | callbacksRecyclerView.setHasFixedSize( true );
35 | callbacksRecyclerView.setAdapter( callbacksAdapter );
36 | callbacksRecyclerView.setLayoutManager( manager );
37 | callbacksRecyclerView.addItemDecoration( decoration );
38 | }
39 |
40 | /**
41 | * Log ad callbacks in the RecyclerView.
42 | * Uses the name of the function that calls this one in the log.
43 | */
44 | protected void logCallback()
45 | {
46 | String callbackName = new Throwable().getStackTrace()[1].getMethodName();
47 | callbacks.add( callbackName );
48 |
49 | callbacksAdapter.notifyItemInserted( callbacks.size() - 1 );
50 | }
51 |
52 | protected void logAnonymousCallback()
53 | {
54 | String callbackName = new Throwable().getStackTrace()[2].getMethodName();
55 | callbacks.add( callbackName );
56 |
57 | callbacksAdapter.notifyItemInserted( callbacks.size() - 1 );
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/java/com/applovin/enterprise/apps/demoapp/ui/DemoMenuActivity.kt:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ui
2 |
3 | import android.content.Context
4 | import android.os.Bundle
5 | import androidx.appcompat.app.AppCompatActivity
6 | import android.view.LayoutInflater
7 | import android.view.View
8 | import android.view.ViewGroup
9 | import android.widget.AdapterView
10 | import android.widget.ArrayAdapter
11 | import android.widget.ListView
12 | import android.widget.TextView
13 | import com.applovin.enterprise.apps.demoapp.R
14 | import com.applovin.enterprise.apps.demoapp.data.main.DemoMenuItem
15 |
16 |
17 | abstract class DemoMenuActivity : AppCompatActivity()
18 | {
19 | protected lateinit var listView: ListView
20 |
21 | override fun onCreate(savedInstanceState: Bundle?)
22 | {
23 | super.onCreate(savedInstanceState)
24 | setContentView(R.layout.activity_list)
25 |
26 | listView = findViewById(R.id.list_view)
27 |
28 | setupListViewFooter()
29 | setupListViewContents(getListViewContents())
30 | }
31 |
32 | protected open fun setupListViewFooter()
33 | {
34 | }
35 |
36 | protected abstract fun getListViewContents(): Array
37 |
38 | private fun setupListViewContents(items: Array)
39 | {
40 | val listAdapter = object : ArrayAdapter(this, android.R.layout.simple_list_item_1, items)
41 | {
42 | override fun getView(position: Int, convertView: View?, parent: ViewGroup): View
43 | {
44 | val inflater = this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
45 | val row = convertView ?: inflater.inflate(android.R.layout.simple_list_item_1, parent, false)
46 |
47 | val item = items[position]
48 |
49 | val title: TextView = row.findViewById(android.R.id.text1)
50 | title.text = item.title
51 |
52 | return row
53 | }
54 | }
55 | listView.adapter = listAdapter
56 |
57 | listView.onItemClickListener = AdapterView.OnItemClickListener { _, _, position, _ ->
58 | if (items[position].intent != null)
59 | startActivity(items[position].intent)
60 | }
61 | }
62 | }
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_splash.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
20 |
21 |
34 |
35 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_splash.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
20 |
21 |
34 |
35 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/res/layout/activity_rewarded_videos.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
24 |
25 |
39 |
40 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/res/layout/activity_rewarded_videos.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
24 |
25 |
39 |
40 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/Line/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | set DIRNAME=%~dp0
12 | if "%DIRNAME%" == "" set DIRNAME=.
13 | set APP_BASE_NAME=%~n0
14 | set APP_HOME=%DIRNAME%
15 |
16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17 | set DEFAULT_JVM_OPTS=
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windows variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 |
53 | :win9xME_args
54 | @rem Slurp the command line arguments.
55 | set CMD_LINE_ARGS=
56 | set _SKIP=2
57 |
58 | :win9xME_args_slurp
59 | if "x%~1" == "x" goto execute
60 |
61 | set CMD_LINE_ARGS=%*
62 |
63 | :execute
64 | @rem Setup the command line
65 |
66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
67 |
68 | @rem Execute Gradle
69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
70 |
71 | :end
72 | @rem End local scope for the variables with windows NT shell
73 | if "%ERRORLEVEL%"=="0" goto mainEnd
74 |
75 | :fail
76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
77 | rem the _cmd.exe /c_ return code!
78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
79 | exit /b 1
80 |
81 | :mainEnd
82 | if "%OS%"=="Windows_NT" endlocal
83 |
84 | :omega
85 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | set DIRNAME=%~dp0
12 | if "%DIRNAME%" == "" set DIRNAME=.
13 | set APP_BASE_NAME=%~n0
14 | set APP_HOME=%DIRNAME%
15 |
16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17 | set DEFAULT_JVM_OPTS=
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windows variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 |
53 | :win9xME_args
54 | @rem Slurp the command line arguments.
55 | set CMD_LINE_ARGS=
56 | set _SKIP=2
57 |
58 | :win9xME_args_slurp
59 | if "x%~1" == "x" goto execute
60 |
61 | set CMD_LINE_ARGS=%*
62 |
63 | :execute
64 | @rem Setup the command line
65 |
66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
67 |
68 | @rem Execute Gradle
69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
70 |
71 | :end
72 | @rem End local scope for the variables with windows NT shell
73 | if "%ERRORLEVEL%"=="0" goto mainEnd
74 |
75 | :fail
76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
77 | rem the _cmd.exe /c_ return code!
78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
79 | exit /b 1
80 |
81 | :mainEnd
82 | if "%OS%"=="Windows_NT" endlocal
83 |
84 | :omega
85 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | set DIRNAME=%~dp0
12 | if "%DIRNAME%" == "" set DIRNAME=.
13 | set APP_BASE_NAME=%~n0
14 | set APP_HOME=%DIRNAME%
15 |
16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17 | set DEFAULT_JVM_OPTS=
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windows variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 |
53 | :win9xME_args
54 | @rem Slurp the command line arguments.
55 | set CMD_LINE_ARGS=
56 | set _SKIP=2
57 |
58 | :win9xME_args_slurp
59 | if "x%~1" == "x" goto execute
60 |
61 | set CMD_LINE_ARGS=%*
62 |
63 | :execute
64 | @rem Setup the command line
65 |
66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
67 |
68 | @rem Execute Gradle
69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
70 |
71 | :end
72 | @rem End local scope for the variables with windows NT shell
73 | if "%ERRORLEVEL%"=="0" goto mainEnd
74 |
75 | :fail
76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
77 | rem the _cmd.exe /c_ return code!
78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
79 | exit /b 1
80 |
81 | :mainEnd
82 | if "%OS%"=="Windows_NT" endlocal
83 |
84 | :omega
85 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/java/com/applovin/enterprise/apps/demoapp/ads/max/nativead/JetpackComposeTemplateNativeAdActivity.kt:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ads.max.nativead
2 |
3 | import android.os.Bundle
4 | import androidx.activity.compose.setContent
5 | import androidx.compose.foundation.layout.Box
6 | import androidx.compose.foundation.layout.Column
7 | import androidx.compose.foundation.layout.fillMaxSize
8 | import androidx.compose.foundation.layout.padding
9 | import androidx.compose.ui.Alignment
10 | import androidx.compose.ui.Modifier
11 | import androidx.compose.ui.unit.dp
12 | import com.applovin.enterprise.apps.demoapp.R
13 | import com.applovin.enterprise.apps.demoapp.ui.BaseJetpackComposeAdActivity
14 | import com.applovin.enterprise.apps.demoapp.ui.composables.MaxTemplateNativeAdViewComposableLoader
15 | import com.applovin.enterprise.apps.demoapp.ui.composables.MaxTemplateNativeAdViewComposable
16 |
17 | /**
18 | * [android.app.Activity] used to show AppLovin MAX native ads using the Templates API with Jetpack Compose.
19 | *
20 | * Created by Matthew Nguyen on 2023-07-25.
21 | */
22 | class JetpackComposeTemplateNativeAdActivity : BaseJetpackComposeAdActivity() {
23 | private lateinit var nativeAdLoader: MaxTemplateNativeAdViewComposableLoader
24 |
25 | override fun onCreate(savedInstanceState: Bundle?) {
26 | super.onCreate(savedInstanceState)
27 | setTitle(R.string.activity_jetpack_compose_template_native_ad)
28 |
29 | // Initialize ad with ad loader.
30 | nativeAdLoader = MaxTemplateNativeAdViewComposableLoader("YOUR_AD_UNIT_ID", this, this)
31 | setContent {
32 | Column(
33 | modifier = Modifier.fillMaxSize(),
34 | horizontalAlignment = Alignment.CenterHorizontally
35 | )
36 | {
37 | MaxTemplateNativeAdViewComposable(nativeAdLoader)
38 | Box(Modifier.fillMaxSize())
39 | {
40 | ListCallbacks()
41 | // If ad is finished loading, show ad whenever button is tapped.
42 | ShowAdButton(
43 | onClick = { nativeAdLoader.loadAd() },
44 | modifier = Modifier
45 | .align(Alignment.BottomCenter)
46 | .padding(10.dp)
47 | )
48 | }
49 | }
50 | }
51 | }
52 |
53 | override fun onDestroy() {
54 | // Destroy ad loader to prevent memory leaks.
55 | nativeAdLoader.destroy()
56 | super.onDestroy()
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 | apply plugin: 'kotlin-android'
3 |
4 | def isLocalAppLovinWorkspace = rootProject.name == "Android-Workspace"
5 |
6 | android {
7 | namespace "com.applovin.enterprise.apps.demoapp"
8 | compileSdk 34
9 | defaultConfig {
10 | applicationId "com.applovin.enterprise.apps.demoapp"
11 | minSdkVersion 21
12 | targetSdk 34
13 | versionCode 10000
14 | versionName "1.0"
15 | multiDexEnabled true
16 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
17 | }
18 | buildTypes {
19 | release {
20 | minifyEnabled false
21 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
22 | }
23 | }
24 | compileOptions {
25 | sourceCompatibility = 1.8
26 | targetCompatibility = 1.8
27 | }
28 | buildFeatures {
29 | compose true
30 | }
31 | composeOptions {
32 | kotlinCompilerExtensionVersion = "1.1.1"
33 | kotlinCompilerVersion = "1.6.10"
34 | }
35 | kotlinOptions {
36 | jvmTarget = "1.8"
37 | }
38 | if (isLocalAppLovinWorkspace) {
39 | flavorDimensions "default"
40 | productFlavors {
41 | // There is only one flavor for running SDK in
42 | app {
43 | matchingFallbacks = ['app', 'standalone']
44 | }
45 | }
46 | }
47 | }
48 |
49 | dependencies {
50 | implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
51 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10"
52 | implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
53 | implementation 'androidx.appcompat:appcompat:1.2.0'
54 | implementation 'com.google.android.material:material:1.1.0'
55 | implementation 'androidx.core:core-ktx:1.3.0'
56 | implementation 'androidx.recyclerview:recyclerview:1.2.1'
57 |
58 | implementation 'com.adjust.sdk:adjust-android:4.28.7'
59 | implementation 'com.android.installreferrer:installreferrer:2.2'
60 |
61 | implementation 'com.google.android.gms:play-services-ads-identifier:17.1.0'
62 |
63 | implementation 'androidx.compose.runtime:runtime:1.1.0'
64 | implementation 'androidx.activity:activity-compose:1.3.0'
65 | implementation 'androidx.compose.material:material:1.3.0'
66 | implementation 'androidx.compose.foundation:foundation:1.3.0'
67 |
68 | if (isLocalAppLovinWorkspace) {
69 | implementation(project(":Android-SDK"))
70 | } else {
71 | implementation("com.applovin:applovin-sdk:+@aar")
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Kotlin/app/src/main/java/com/applovin/enterprise/apps/demoapp/ui/MainRecyclerViewAdapter.kt:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ui
2 |
3 | import android.content.Context
4 | import android.view.LayoutInflater
5 | import android.view.View
6 | import android.view.ViewGroup
7 | import android.widget.TextView
8 | import androidx.recyclerview.widget.RecyclerView
9 | import com.applovin.enterprise.apps.demoapp.R
10 | import com.applovin.enterprise.apps.demoapp.data.main.DemoMenuItem
11 | import com.applovin.enterprise.apps.demoapp.data.main.Footer
12 | import com.applovin.enterprise.apps.demoapp.data.main.ListItem
13 | import com.applovin.enterprise.apps.demoapp.data.main.SectionHeader
14 |
15 | /**
16 | * [RecyclerView.Adapter] used to show list of items on the main screen.
17 | *
18 | * Created by Harry Arakkal on 9/17/2019
19 | */
20 | class MainRecyclerViewAdapter(private val listItems: List,
21 | private val listener: OnMainListItemClickListener,
22 | context: Context)
23 | : RecyclerView.Adapter()
24 | {
25 | interface OnMainListItemClickListener
26 | {
27 | fun onItemClicked(item: ListItem)
28 | }
29 |
30 | private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
31 |
32 | override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder
33 | {
34 | val viewId = when (viewType)
35 | {
36 | ListItem.SECTION_HEADER -> R.layout.section_header_item
37 | ListItem.AD_ITEM -> R.layout.ad_type_item
38 | ListItem.FOOTER -> R.layout.footer_item
39 | else -> View.NO_ID
40 | }
41 |
42 | return ViewHolder(layoutInflater.inflate(viewId, parent, false))
43 | }
44 |
45 | override fun onBindViewHolder(holder: ViewHolder, position: Int)
46 | {
47 | holder.title.text = when (val item = listItems[position])
48 | {
49 | is SectionHeader -> item.title
50 | is DemoMenuItem -> item.title
51 | is Footer -> item.getAppDetails()
52 | else -> ""
53 | }
54 | }
55 |
56 | override fun getItemCount(): Int
57 | {
58 | return listItems.count()
59 | }
60 |
61 | override fun getItemViewType(position: Int): Int
62 | {
63 | return listItems[position].type
64 | }
65 |
66 | inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view)
67 | {
68 | val title: TextView = view.findViewById(R.id.title)
69 |
70 | init
71 | {
72 | title.setOnClickListener {
73 | listener.onItemClicked(listItems[adapterPosition])
74 | }
75 | }
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.yml:
--------------------------------------------------------------------------------
1 | name: Bug Report
2 | description: Report a problem
3 | labels: [bug]
4 | body:
5 | - type: markdown
6 | attributes:
7 | value: |
8 | - To help us address issues efficiently, please provide clear and detailed bug reports. Reports lacking sufficient information may not be prioritized for review.
9 | - Before reporting, search our [existing issues](https://github.com/AppLovin/AppLovin-MAX-SDK-Android/issues?q=is%3Aissue) and [changelog](https://github.com/AppLovin/AppLovin-MAX-SDK-Android/releases) to see if the issue has already been addressed.
10 | - type: input
11 | attributes:
12 | label: "MAX SDK Version"
13 | placeholder: "e.g., 11.4.3"
14 | validations:
15 | required: true
16 | - type: input
17 | attributes:
18 | label: "Device/Platform Info"
19 | description: "Is the problem affecting any specific devices or platforms?"
20 | placeholder: "e.g., Android 12, Google Pixel 5a, etc."
21 | validations:
22 | required: true
23 | - type: textarea
24 | attributes:
25 | label: "Current Behavior"
26 | description: "A concise description of what you're experiencing."
27 | validations:
28 | required: true
29 | - type: textarea
30 | attributes:
31 | label: "Expected Behavior"
32 | description: "A concise description of what you expected to happen."
33 | validations:
34 | required: false
35 | - type: textarea
36 | attributes:
37 | label: "How to Reproduce"
38 | description: "Step-by-step instructions, code snippets, or other details to reproduce the issue."
39 | validations:
40 | required: true
41 | - type: dropdown
42 | attributes:
43 | label: "Reproducible in the demo app?"
44 | description: Please try and reproduce the issue in the [demo app](https://github.com/AppLovin/AppLovin-MAX-SDK-android)
45 | options:
46 | - "Yes"
47 | - "No"
48 | - "Not Tested"
49 | default: 0
50 | validations:
51 | required: true
52 | - type: textarea
53 | attributes:
54 | label: "Additional Info"
55 | description: |
56 | - If applicable, include any info to provide further context, such as images, videos, or logs after [enabling verbose logging](https://developers.applovin.com/en/max/android/overview/advanced-settings#enable-verbose-logging).
57 | - If you don't want to post media publicly, please submit your file(s) in a [support request](https://support.applovin.com/hc/en-us/requests/new) with subject 'Issue #: ' after filing this issue with a note saying you will do so here.
58 | placeholder: "Tip: Attach files by clicking this area and dragging files in"
59 | validations:
60 | required: false
61 |
--------------------------------------------------------------------------------
/AppLovin MAX Demo App - Java/app/src/main/java/com/applovin/enterprise/apps/demoapp/ui/DemoMenuActivity.java:
--------------------------------------------------------------------------------
1 | package com.applovin.enterprise.apps.demoapp.ui;
2 |
3 | import android.content.Context;
4 | import android.content.Intent;
5 | import android.os.Bundle;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 | import android.widget.AdapterView;
10 | import android.widget.ArrayAdapter;
11 | import android.widget.ListView;
12 | import android.widget.TextView;
13 |
14 | import androidx.annotation.Nullable;
15 | import androidx.appcompat.app.AppCompatActivity;
16 |
17 | import com.applovin.enterprise.apps.demoapp.data.main.DemoMenuItem;
18 | import com.applovin.enterprise.apps.demoapp.R;
19 |
20 | public abstract class DemoMenuActivity
21 | extends AppCompatActivity
22 | {
23 | protected ListView listView;
24 |
25 | @Override
26 | protected void onCreate(@Nullable final Bundle savedInstanceState)
27 | {
28 | super.onCreate( savedInstanceState );
29 | setContentView( R.layout.activity_list );
30 |
31 | listView = (ListView) findViewById( R.id.listView );
32 |
33 |
34 | setupListViewContents( getListViewContents() );
35 | }
36 |
37 | protected abstract DemoMenuItem[] getListViewContents();
38 |
39 | private void setupListViewContents(final DemoMenuItem[] items)
40 | {
41 | ArrayAdapter listAdapter = new ArrayAdapter( this, android.R.layout.simple_list_item_1, items )
42 | {
43 | @Override
44 | public View getView(int position, View convertView, ViewGroup parent)
45 | {
46 | View row = convertView;
47 | if ( row == null )
48 | {
49 | LayoutInflater inflater = (LayoutInflater) this.getContext().getSystemService( Context.LAYOUT_INFLATER_SERVICE );
50 | row = inflater.inflate( android.R.layout.simple_list_item_1, parent, false );
51 | }
52 |
53 | DemoMenuItem item = items[position];
54 |
55 | TextView title = (TextView) row.findViewById( android.R.id.text1 );
56 | title.setText( item.getTitle() );
57 |
58 | return row;
59 | }
60 | };
61 | listView.setAdapter( listAdapter );
62 |
63 | AdapterView.OnItemClickListener itemClickListener = new AdapterView.OnItemClickListener()
64 | {
65 | @Override
66 | public void onItemClick(AdapterView> parent, View view, int position, long id)
67 | {
68 | Intent intent = items[position].getIntent();
69 | if ( intent != null ) startActivity( intent );
70 | }
71 | };
72 | listView.setOnItemClickListener( itemClickListener );
73 | }
74 | }
75 |
--------------------------------------------------------------------------------