diff --git a/.safedk/api/SafeDKAndroid-6.10.4.jar b/.safedk/api/SafeDKAndroid-6.10.4.jar new file mode 100644 index 0000000..76d71ee Binary files /dev/null and b/.safedk/api/SafeDKAndroid-6.10.4.jar differ diff --git a/.safedk/api/SafeDKAndroid-6.10.5.jar b/.safedk/api/SafeDKAndroid-6.10.5.jar new file mode 100644 index 0000000..32227c9 Binary files /dev/null and b/.safedk/api/SafeDKAndroid-6.10.5.jar differ diff --git a/.safedk/app_sdks.lst b/.safedk/app_sdks.lst index 83005ac..2d23119 100644 --- a/.safedk/app_sdks.lst +++ b/.safedk/app_sdks.lst @@ -7,6 +7,7 @@ b9b88d70c3d018bfbda46cd93ba3ddca d41ed920405e4bd14f3a42cd93c43d89 7eac188d3286b05ccbba774f63a2c049 4df96d3bc9afd17b812e65e6c6add1ef +9f5a74f6ccfb81b48969231b39bf937f eb3214f29c0a52815b41977d6cc9a46e becf75b2cc99e82716da2e6697879509 7eec7b9476b99b3ce94533da4f2eb987 diff --git a/.safedk/dex/SafeDKAndroid-m-6.10.3.dex b/.safedk/dex/SafeDKAndroid-m-6.10.3.dex deleted file mode 100644 index 95ff1c9..0000000 Binary files a/.safedk/dex/SafeDKAndroid-m-6.10.3.dex and /dev/null differ diff --git a/.safedk/dex/SafeDKAndroid-m-6.10.5.dex b/.safedk/dex/SafeDKAndroid-m-6.10.5.dex new file mode 100644 index 0000000..b12c3fc Binary files /dev/null and b/.safedk/dex/SafeDKAndroid-m-6.10.5.dex differ diff --git a/.safedk/dex/SafeDKAndroid-s-6.10.3.dex b/.safedk/dex/SafeDKAndroid-s-6.10.5.dex similarity index 100% rename from .safedk/dex/SafeDKAndroid-s-6.10.3.dex rename to .safedk/dex/SafeDKAndroid-s-6.10.5.dex diff --git a/.safedk/hashes.safedk b/.safedk/hashes.safedk index 7793ee0..4e6cde8 100644 --- a/.safedk/hashes.safedk +++ b/.safedk/hashes.safedk @@ -1,2 +1,2 @@ -#Wed Dec 03 10:55:14 CST 2025 -json=-1235977772 +#Mon Dec 15 15:42:41 CST 2025 +json=-2121059978 diff --git a/.safedk/plugin.properties b/.safedk/plugin.properties index a38ff9e..b9dc7d3 100644 --- a/.safedk/plugin.properties +++ b/.safedk/plugin.properties @@ -1,4 +1,4 @@ # -#Wed Dec 03 11:58:49 CST 2025 +#Mon Dec 15 15:47:09 CST 2025 8GRrPSHaq8UzR4AxEKORfyLK7pFtbFgCwkKwOHwuPd42bmfT6dZa45gAlLZ7_9a2HD3zmc0GX2K4EwTcC6iL4B=Dd37BrtbLDlaeiDhxVzaDbsI67Mc1h5lAGIinzo4v2IbkpufdtVmT5Tag9O3aGexzkS4txEPigaEexktewANIk -sdk_analysis_plugin_version=5.10.3 +sdk_analysis_plugin_version=5.10.4 diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 3d632c5..3789b4d 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -8,10 +8,6 @@ plugins { id("kotlin-parcelize") id("com.google.gms.google-services") id("com.google.firebase.crashlytics") - id("applovin-quality-service") -} -applovin { - apiKey = "8GRrPSHaq8UzR4AxEKORfyLK7pFtbFgCwkKwOHwuPd42bmfT6dZa45gAlLZ7_9a2HD3zmc0GX2K4EwTcC6iL4B" } android { namespace = "com.adpro.pixelshow" @@ -21,8 +17,8 @@ android { applicationId = "com.adpro.pixelshow" minSdk = 26 targetSdk = 36 - versionCode = 2 - versionName = "2.0" + versionCode = 3 + versionName = "3.0" setProperty( "archivesBaseName", "PixelShow_V" + versionName + "_${versionCode}_$timeStamp" @@ -73,7 +69,7 @@ dependencies { implementation("com.squareup.okhttp3:okhttp:4.12.0") implementation(files("libs/UpLoadLibrary_11_24_18_30-release.aar")) - implementation(files("libs/MaxLibrary_08_08_15_08-release.aar")) + implementation(files("libs/TradPlusLibrary_11_25_15_02-release.aar")) // implementation ("com.squareup.okhttp3:okhttp:4.12.0") implementation("com.squareup.okhttp3:logging-interceptor:4.12.0") implementation ("com.google.android.gms:play-services-ads-identifier:18.0.1") @@ -84,18 +80,78 @@ dependencies { implementation("com.google.firebase:firebase-analytics") implementation("com.google.firebase:firebase-config") - //Max(BIGO Ads、Chartboost、DT Exchange、InMobi、ironSource、Liftoff Monetize、Mintegral、Pangle) - implementation("com.applovin:applovin-sdk:+") - implementation("com.applovin.mediation:bigoads-adapter:+") - implementation("com.applovin.mediation:chartboost-adapter:+") - implementation("com.google.android.gms:play-services-base:16.1.0") - implementation("com.applovin.mediation:fyber-adapter:+") - implementation("com.applovin.mediation:inmobi-adapter:+") - implementation("com.squareup.picasso:picasso:2.8") + // TradPlus + implementation("com.tradplusad:tradplus:14.5.0.1") + //noinspection GradleCompatible + implementation("androidx.legacy:legacy-support-v4:1.0.0") + implementation("androidx.appcompat:appcompat:1.3.0-alpha02") + // Meta + implementation("com.facebook.android:audience-network-sdk:6.20.0") + implementation("com.tradplusad:tradplus-facebook:1.14.5.0.1") + // Applovin + implementation("com.applovin:applovin-sdk:13.3.1") + implementation("com.tradplusad:tradplus-applovin:9.14.5.0.1") + implementation("com.google.android.gms:play-services-ads-identifier:18.2.0") + // Ironsource + implementation("com.ironsource.sdk:mediationsdk:8.10.0") + implementation("com.tradplusad:tradplus-ironsource:10.14.5.0.1") + implementation("com.google.android.gms:play-services-appset:16.0.0") + implementation("com.google.android.gms:play-services-ads-identifier:17.0.0") + implementation("com.google.android.gms:play-services-basement:17.5.0") + // Adcolony + implementation("com.adcolony:sdk:4.8.0") + implementation("com.tradplusad:tradplus-adcolony:4.14.5.0.1") + implementation("com.google.android.gms:play-services-ads-identifier:17.0.0") + // Pangle + implementation("com.tradplusad:tradplus-pangle:19.14.5.0.1") + implementation("com.pangle.global:pag-sdk:7.3.0.3") + // UnityAds + implementation("com.tradplusad:tradplus-unity:5.14.5.0.1") + implementation("com.unity3d.ads:unity-ads:4.15.1") + // Chartboost + implementation("com.tradplusad:tradplus-chartboostx:15.14.5.0.1") + implementation("com.chartboost:chartboost-sdk:9.8.3") + implementation("com.google.android.gms:play-services-ads-identifier:17.0.0") + implementation("com.google.android.gms:play-services-base:17.4.0") + // Inmobi + implementation("com.tradplusad:tradplus-inmobix:23.14.5.0.1") + implementation("com.inmobi.monetization:inmobi-ads-kotlin:10.8.3") + implementation("androidx.core:core-ktx:1.5.0") + implementation("com.inmobi.omsdk:inmobi-omsdk:1.5.2.0") + // Fyber + implementation("com.fyber:marketplace-sdk:8.3.7") + implementation("com.tradplusad:tradplus-fyber:24.14.5.0.1") + implementation("com.google.android.gms:play-services-ads-identifier:17.0.0") + implementation("com.google.android.gms:play-services-base:17.4.0") + // Start.io + implementation("com.startapp:inapp-sdk:5.2.3") + implementation("com.tradplusad:tradplus-startapp:28.14.5.0.1") + // Mintegral + implementation("com.tradplusad:tradplus-mintegralx_overseas:18.14.5.0.1") implementation("androidx.recyclerview:recyclerview:1.1.0") - implementation("com.applovin.mediation:ironsource-adapter:+") - implementation("com.applovin.mediation:vungle-adapter:+") - implementation("com.applovin.mediation:mintegral-adapter:+") - implementation("com.applovin.mediation:bytedance-adapter:+") + implementation("com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.71") + // Liftoff + implementation("com.tradplusad:tradplus-vunglex:7.14.5.0.1") + implementation("com.vungle:vungle-ads:7.5.0") + // Yandex + implementation("com.yandex.android:mobileads:7.13.0") { + exclude(group = "com.caverock", module = "androidsvg-aar") + } + implementation("com.tradplusad:tradplus-yandex:50.14.6.10.1") + // Bigo + implementation("com.bigossp:bigo-ads:5.4.0") + implementation("com.tradplusad:tradplus-bigo:57.14.5.0.1") + // Cross Promotion + implementation("com.tradplusad:tradplus-crosspromotion:27.14.5.0.1") + // TP Exchange + // 请注意保持与主包版本同步更新 + implementation("com.google.code.gson:gson:2.8.6") + implementation("com.tradplusad:tp_exchange:40.14.5.0.1") + + // Google UMP + implementation ("com.google.android.ump:user-messaging-platform:3.2.0") + + // TradPlus Tools + // implementation 'com.tradplusad:tradplus-tool:1.1.4' } \ No newline at end of file diff --git a/app/libs/MaxLibrary_08_08_15_08-release.aar b/app/libs/MaxLibrary_08_08_15_08-release.aar deleted file mode 100644 index c2ce202..0000000 Binary files a/app/libs/MaxLibrary_08_08_15_08-release.aar and /dev/null differ diff --git a/app/libs/TradPlusLibrary_11_25_15_02-release.aar b/app/libs/TradPlusLibrary_11_25_15_02-release.aar new file mode 100644 index 0000000..803bb1c Binary files /dev/null and b/app/libs/TradPlusLibrary_11_25_15_02-release.aar differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ea3afc0..eb6dafe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -7,6 +7,7 @@ android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32" /> + + \ No newline at end of file diff --git a/app/src/main/java/com/adpro/pixelshow/IAppLifecycle.kt b/app/src/main/java/com/adpro/pixelshow/IAppLifecycle.kt index 674df5d..a71cabc 100644 --- a/app/src/main/java/com/adpro/pixelshow/IAppLifecycle.kt +++ b/app/src/main/java/com/adpro/pixelshow/IAppLifecycle.kt @@ -2,11 +2,9 @@ package com.adpro.pixelshow import android.app.Application import android.util.Log -import com.ad.maxlibrary.MaxInitManager import com.adpro.pixelshow.data.AppDataBase import com.adpro.pixelshow.data.MovieDao import com.adpro.pixelshow.util.TypeUtil -import com.applovin.sdk.AppLovinSdk import com.up.uploadlibrary.UpLoadManager import java.io.IOException @@ -36,15 +34,6 @@ class IAppLifecycle : Application() { null Log.d(TAG, "upload success") } - - MaxInitManager.init( - this, - "Dd37BrtbLDlaeiDhxVzaDbsI67Mc1h5lAGIinzo4v2IbkpufdtVmT5Tag9O3aGexzkS4txEPigaEexktewANIk", - "3cbf4bd957da0eb3", - "768b5586c4ab6ad1", - "a4dd3cb20fd8925d", - "==============" - ) val database = AppDataBase.getDatabase(this) val paperDao = database.movieDao() Thread { diff --git a/app/src/main/java/com/adpro/pixelshow/look/ClassFragment.kt b/app/src/main/java/com/adpro/pixelshow/look/ClassFragment.kt index 758ce93..2a0a3ae 100644 --- a/app/src/main/java/com/adpro/pixelshow/look/ClassFragment.kt +++ b/app/src/main/java/com/adpro/pixelshow/look/ClassFragment.kt @@ -9,7 +9,6 @@ import android.view.View import android.view.ViewGroup import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.LinearLayoutManager -import com.ad.maxlibrary.MaxManager import com.adpro.pixelshow.IAppLifecycle import com.adpro.pixelshow.event.ClassFrameAdapter import com.adpro.pixelshow.data.MainViewModel @@ -27,7 +26,6 @@ class ClassificationFragment : Fragment(),FirClassListener { savedInstanceState: Bundle? ): View { binding=FragmentClassBinding.inflate(inflater,container,false) - MaxManager.onLoadAd() init() return binding.root } diff --git a/app/src/main/java/com/adpro/pixelshow/look/DownloadRequestActivity.kt b/app/src/main/java/com/adpro/pixelshow/look/DownloadRequestActivity.kt index 63dc78b..bd6f432 100644 --- a/app/src/main/java/com/adpro/pixelshow/look/DownloadRequestActivity.kt +++ b/app/src/main/java/com/adpro/pixelshow/look/DownloadRequestActivity.kt @@ -9,7 +9,7 @@ import android.widget.Toast import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.ViewModelProvider -import com.ad.maxlibrary.MaxManager +import com.ad.tradpluslibrary.TPAdManager.showTPAD import com.adpro.pixelshow.R import com.adpro.pixelshow.data.MainViewModel import com.adpro.pixelshow.data.Movie @@ -68,8 +68,7 @@ class DownloadRequestActivity : AppCompatActivity(), IntentListener { setContentView(binding.root) TopBarUtils.setStatusBar(this.window) TopBarUtils.setLightStatusBar(this.window,true) - MaxManager.onLoadAd() - MaxManager.startShowMaxAd (this){} + showTPAD(this){} init() } override fun onDestroy() { @@ -122,12 +121,12 @@ class DownloadRequestActivity : AppCompatActivity(), IntentListener { } binding.layoutDownload.setOnClickListener { - MaxManager.startShowMaxAd (this){ - startDownload() - } + showTPAD(this){startDownload()} } binding.layoutSet.setOnClickListener { - showSetDialog() + showTPAD(this){ + showSetDialog() + } } } diff --git a/app/src/main/java/com/adpro/pixelshow/look/InitActivity.kt b/app/src/main/java/com/adpro/pixelshow/look/InitActivity.kt index 2e58c20..7681032 100644 --- a/app/src/main/java/com/adpro/pixelshow/look/InitActivity.kt +++ b/app/src/main/java/com/adpro/pixelshow/look/InitActivity.kt @@ -5,7 +5,8 @@ import android.os.Bundle import android.os.CountDownTimer import android.os.Handler import androidx.appcompat.app.AppCompatActivity -import com.ad.maxlibrary.WelComManager +import com.ad.tradpluslibrary.TPAdManager +import com.adpro.pixelshow.IAppLifecycle import com.adpro.pixelshow.databinding.ActivityInitBinding import com.adpro.pixelshow.util.TopBarUtils @@ -13,31 +14,46 @@ class InitActivity : AppCompatActivity() { lateinit var binding: ActivityInitBinding private var handler: Handler = Handler() private var countDownTimer: CountDownTimer? = null - private val time = 12000L + private val time = 14000L override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityInitBinding.inflate(layoutInflater) setContentView(binding.root) + TPAdManager.init( + this@InitActivity, + IAppLifecycle.TAG, + "746406D3D50E38A478DE9B06A397AB11", + "19E48CAEDA743B891D65A26DA3CBE612", + "9B349314944F58680891D1E522009012", + "089E972A6D8EF6C2A4F4B0725BA1C312" + ) { + null + } TopBarUtils.setStatusBar(this.window) - TopBarUtils.setLightStatusBar(this.window,true) - countDownTimer = WelComManager.initTimer(this, time, { millisUntilFinished -> - val v: Float = - 100 - millisUntilFinished.toFloat() / time * 100 - val v1 = v.toInt() - binding.progressbar.progress = v1 - - }) { - val intent= Intent( - this@InitActivity, - FirstSelActivity::class.java - ) - startActivity(intent) - finish() - } + TopBarUtils.setLightStatusBar(this.window, true) + countDownTimer = TPAdManager.showWelcomeAd( + this@InitActivity, + time, + { aLong -> + val progressPercentage = (100 * aLong) / time + val percentage = 100 - progressPercentage + binding.progressbar.progress = percentage.toInt() + }, + { + binding.progressbar.progress = 100 + val intent = Intent( + this@InitActivity, + FirstSelActivity::class.java + ) + startActivity(intent) + finish() + } + ) + countDownTimer?.start() } override fun onDestroy() { diff --git a/app/src/main/java/com/adpro/pixelshow/look/SearchKeyActivity.kt b/app/src/main/java/com/adpro/pixelshow/look/SearchKeyActivity.kt index 8544169..349877e 100644 --- a/app/src/main/java/com/adpro/pixelshow/look/SearchKeyActivity.kt +++ b/app/src/main/java/com/adpro/pixelshow/look/SearchKeyActivity.kt @@ -12,7 +12,7 @@ import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.GridLayoutManager -import com.ad.maxlibrary.MaxManager +import com.ad.tradpluslibrary.TPAdManager.showTPAD import com.adpro.pixelshow.R import com.adpro.pixelshow.event.MoreAndSearchAdapter import com.adpro.pixelshow.data.MainViewModel @@ -33,7 +33,7 @@ class SearchKeyActivity : AppCompatActivity(), SecFavListener { binding = ActivitySearchKeyBinding.inflate(layoutInflater) setContentView(binding.root) TopBarUtils.setStatusBar(this.window) - MaxManager.onLoadAd() + showTPAD(this){} TopBarUtils.setLightStatusBar(this.window,true) init() } @@ -45,15 +45,14 @@ class SearchKeyActivity : AppCompatActivity(), SecFavListener { binding.list.adapter = adapter binding.list.layoutManager = GridLayoutManager(this, 2) binding.tvStart.setOnClickListener { - MaxManager.startShowMaxAd (this){startSearch();} } + showTPAD(this){startSearch();}} binding.imageBack.setOnClickListener { finish() } binding.editText.requestFocus() binding.editText.setOnEditorActionListener { _, actionId, _ -> if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE) { - MaxManager.startShowMaxAd (this){ + showTPAD(this){ startSearch() } - return@setOnEditorActionListener true } diff --git a/app/src/main/java/com/adpro/pixelshow/look/TypeInfoActivity.kt b/app/src/main/java/com/adpro/pixelshow/look/TypeInfoActivity.kt index 458dce7..f4337f7 100644 --- a/app/src/main/java/com/adpro/pixelshow/look/TypeInfoActivity.kt +++ b/app/src/main/java/com/adpro/pixelshow/look/TypeInfoActivity.kt @@ -8,6 +8,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.GridLayoutManager +import com.ad.tradpluslibrary.TPAdManager.showTPAD import com.adpro.pixelshow.event.MoreAndSearchAdapter import com.adpro.pixelshow.data.MainViewModel @@ -29,6 +30,7 @@ class TypeInfoActivity : AppCompatActivity(),SecFavListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding=ActivityTypeInfoBinding.inflate(layoutInflater) + showTPAD(this){} init() TopBarUtils.setStatusBar(this.window) TopBarUtils.setLightStatusBar(this.window,true) diff --git a/build.gradle.kts b/build.gradle.kts index 6d81849..935d953 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,12 +4,4 @@ plugins { alias(libs.plugins.kotlin.android) apply false id("com.google.gms.google-services") version "4.4.2" apply false id ("com.google.firebase.crashlytics") version "3.0.2" apply false -} -buildscript { - repositories { - maven { url = uri("https://artifacts.applovin.com/android") } - } - dependencies { - classpath ("com.applovin.quality:AppLovinQualityServiceGradlePlugin:+") - } } \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index 92c020e..f39a33f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -16,9 +16,26 @@ dependencyResolutionManagement { repositories { google() mavenCentral() + //------------------------- TradPlus + // Ironsource + maven { url = uri("https://android-sdk.is.com/") } + // Pangle + maven { + url = uri("https://artifact.bytedance.com/repository/pangle") + } + // Chartboost maven { url = uri("https://cboost.jfrog.io/artifactory/chartboost-ads/") } - maven { url = uri("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea") } - maven { url = uri("https://artifact.bytedance.com/repository/pangle") } + maven { + name = "Chartboost Mediation’s maven repo" + url = uri("https://cboost.jfrog.io/artifactory/chartboost-mediation") + } + // Mintegral + //Launch GP market application, Android X Version + //If you fail to pull the code using gradle, add the maven warehouse configuration to the project root build.gradle file + maven { + url = + uri("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea") + } } }