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"