diff --git a/app/build.gradle b/app/build.gradle index 5e03db1..083a2a0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,6 +3,8 @@ import java.text.SimpleDateFormat plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' + id 'com.google.gms.google-services' + id 'com.google.firebase.crashlytics' } def timestamp = new Date().format("MM_dd_HH_mm") android { @@ -13,8 +15,8 @@ android { applicationId "com.led.scroller.barrage.banner" minSdk 24 targetSdk 36 - versionCode 1 - versionName "1.0" + versionCode 2 + versionName "1.1" setProperty( "archivesBaseName", "LED Scroller_V" + versionName + "(${versionCode})_$timestamp" @@ -57,4 +59,86 @@ dependencies { implementation 'com.google.android.material:material:1.13.0' implementation 'androidx.activity:activity-ktx:1.11.0' implementation 'androidx.constraintlayout:constraintlayout:2.2.1' + + implementation(files("libs/TradPlusLibrary_11_25_15_02-release.aar")) + implementation(files("libs/UpLoadLibrary_11_24_18_30-release.aar")) + implementation("com.squareup.okhttp3:logging-interceptor:4.12.0") + + + implementation(platform("com.google.firebase:firebase-bom:33.7.0")) + implementation("com.google.firebase:firebase-crashlytics") + implementation("com.google.firebase:firebase-analytics") + implementation("com.google.firebase:firebase-config") + + + // 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.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") } \ No newline at end of file diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 0000000..738acfb --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "688205801204", + "project_id": "led-scroller-eb9e7", + "storage_bucket": "led-scroller-eb9e7.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:688205801204:android:74f1a4467eeb5852d1a0a1", + "android_client_info": { + "package_name": "com.led.scroller.barrage.banner" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyC0xRKJkPXdyPDQP7GdmH1TPecCocw2Rko" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file 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/libs/UpLoadLibrary_11_24_18_30-release.aar b/app/libs/UpLoadLibrary_11_24_18_30-release.aar new file mode 100644 index 0000000..01829d2 Binary files /dev/null and b/app/libs/UpLoadLibrary_11_24_18_30-release.aar differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f2d6d01..c18a59e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ - + + + + + - \ No newline at end of file diff --git a/app/src/main/java/com/led/scroller/barrage/banner/LBApplication.kt b/app/src/main/java/com/led/scroller/barrage/banner/LBApplication.kt index c507ce5..c4d0663 100644 --- a/app/src/main/java/com/led/scroller/barrage/banner/LBApplication.kt +++ b/app/src/main/java/com/led/scroller/barrage/banner/LBApplication.kt @@ -1,16 +1,21 @@ package com.led.scroller.barrage.banner import android.app.Application +import com.up.uploadlibrary.UpLoadManager class LBApplication : Application() { companion object { lateinit var app: LBApplication + val TAG = "==========LED=========" } override fun onCreate() { super.onCreate() app = this + UpLoadManager.init(this,TAG){_,_-> + + } } } \ No newline at end of file diff --git a/app/src/main/java/com/led/scroller/barrage/banner/ui/MainActivity.kt b/app/src/main/java/com/led/scroller/barrage/banner/ui/MainActivity.kt index 88bbdc2..b393083 100644 --- a/app/src/main/java/com/led/scroller/barrage/banner/ui/MainActivity.kt +++ b/app/src/main/java/com/led/scroller/barrage/banner/ui/MainActivity.kt @@ -18,6 +18,7 @@ import androidx.core.view.WindowCompat import androidx.core.view.WindowInsetsCompat import androidx.core.widget.addTextChangedListener import androidx.fragment.app.Fragment +import com.ad.tradpluslibrary.TPAdManager import com.led.scroller.barrage.banner.R import com.led.scroller.barrage.banner.databinding.ActivityMainBinding import com.led.scroller.barrage.banner.sp.AppSP @@ -114,9 +115,13 @@ class MainActivity : BaseActivity(), TextFragment.TextFragmentClickListener, binding.startBtn.setOnClickListener { val content = binding.contentEdit.text.toString() if (content.isNotEmpty()) { - val intent = Intent(this, ShowBarrageActivity::class.java) - intent.putExtra(ShowBarrageActivity.CONTENT_KEY, content) - startActivity(intent) + + TPAdManager.showTPAD(this@MainActivity){ + val intent = Intent(this, ShowBarrageActivity::class.java) + intent.putExtra(ShowBarrageActivity.CONTENT_KEY, content) + startActivity(intent) + } + } else { showToast(getString(R.string.type_something)) } diff --git a/app/src/main/java/com/led/scroller/barrage/banner/ui/ShowBarrageActivity.kt b/app/src/main/java/com/led/scroller/barrage/banner/ui/ShowBarrageActivity.kt index 314ac2b..1287634 100644 --- a/app/src/main/java/com/led/scroller/barrage/banner/ui/ShowBarrageActivity.kt +++ b/app/src/main/java/com/led/scroller/barrage/banner/ui/ShowBarrageActivity.kt @@ -17,6 +17,7 @@ import androidx.core.view.WindowInsetsControllerCompat import com.led.scroller.barrage.banner.databinding.ActivityShowBarrageBinding import com.led.scroller.barrage.banner.sp.AppSP import androidx.core.view.isVisible +import com.ad.tradpluslibrary.TPAdManager class ShowBarrageActivity : ComponentActivity() { companion object { @@ -54,20 +55,13 @@ class ShowBarrageActivity : ComponentActivity() { } binding.backImg.setOnClickListener { Log.d("ShowBarrageActivity", "返回按钮点击,调用finish()") - finish() + TPAdManager.showTPAD(this@ShowBarrageActivity){ + finish() + } + } } - override fun onBackPressed() { - Log.d("ShowBarrageActivity", "系统返回键被按下") - super.onBackPressed() - } - - override fun finish() { - Log.d("ShowBarrageActivity", "finish()被调用") - super.finish() - } - private fun animatorRightToLeft(content: String) { val sp = AppSP(this) binding.previewLayout.setBackgroundColor(getColor(sp.bgColorResId)) diff --git a/app/src/main/java/com/led/scroller/barrage/banner/ui/SplashActivity.kt b/app/src/main/java/com/led/scroller/barrage/banner/ui/SplashActivity.kt new file mode 100644 index 0000000..fce2aea --- /dev/null +++ b/app/src/main/java/com/led/scroller/barrage/banner/ui/SplashActivity.kt @@ -0,0 +1,90 @@ +package com.led.scroller.barrage.banner.ui + +import android.app.Activity +import android.content.Intent +import android.os.Bundle +import android.os.CountDownTimer +import android.view.View +import android.view.WindowManager +import android.widget.ProgressBar +import androidx.appcompat.app.AppCompatActivity +import com.ad.tradpluslibrary.TPAdManager +import com.led.scroller.barrage.banner.LBApplication + +import com.led.scroller.barrage.banner.R +import kotlin.jvm.java +import kotlin.math.roundToInt + +class SplashActivity : AppCompatActivity() { + + private lateinit var progressBar: ProgressBar + private var countTime = 13000L + private lateinit var timer: CountDownTimer + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_splash) + initFullScreen(this,false) + init() + findView() + } + + private fun init() { + TPAdManager.init( + this, + LBApplication.TAG, + "899EFE2615AE2209B50C709D28C9E411", + "B2EF79773F1D3AF7916FFFE756F39412", + "8DA8AF9FCE5DCB6BDFA166152706E612", + "4485F52811D3029D661F2E12B3D02212" + ) { + + } + timer = TPAdManager.showWelcomeAd(this, countTime, { millisUntilFinished -> + val percentage: Float = 100 - millisUntilFinished.toFloat() / countTime * 100 + val round = percentage.roundToInt() + progressBar.progress = round + }) { + progressBar.progress = 100 + toHome() + } + timer.start() + } + + + private fun findView() { + progressBar = findViewById(R.id.nova_progress) + } + + + private fun toHome() { + startActivity(Intent(this, MainActivity::class.java)) + finish() + } + + override fun onDestroy() { + super.onDestroy() + timer.cancel() + } + + fun initFullScreen(activity: Activity, dark: Boolean? = true) { + val window = activity.window + val decorView = window.decorView + val rootView = decorView.rootView +// + if (dark == null) return + + if (dark) { + decorView.setSystemUiVisibility( + View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR + ) + } else { + decorView.setSystemUiVisibility( + (View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + or View.SYSTEM_UI_FLAG_LAYOUT_STABLE) + ) + } + window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/splash_drawable.xml b/app/src/main/res/drawable/splash_drawable.xml new file mode 100644 index 0000000..e2951c0 --- /dev/null +++ b/app/src/main/res/drawable/splash_drawable.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml new file mode 100644 index 0000000..216aaf5 --- /dev/null +++ b/app/src/main/res/layout/activity_splash.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/net.xml b/app/src/main/res/xml/net.xml new file mode 100644 index 0000000..0ac6102 --- /dev/null +++ b/app/src/main/res/xml/net.xml @@ -0,0 +1,6 @@ + + + + mobile-server.lux-ad.com + + diff --git a/build.gradle b/build.gradle index 4a39479..64db8e5 100644 --- a/build.gradle +++ b/build.gradle @@ -3,4 +3,6 @@ plugins { id 'com.android.application' version '8.9.1' apply false id 'com.android.library' version '8.9.1' apply false id 'org.jetbrains.kotlin.android' version '2.2.21' 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 } \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 4269060..6e4486f 100644 --- a/settings.gradle +++ b/settings.gradle @@ -10,6 +10,27 @@ 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 { + 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") + } } } rootProject.name = "LED Scroller"