diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 545dd3b..846af79 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -17,8 +17,8 @@ android { applicationId = "com.app.input.color.board" minSdk = 24 targetSdk = 36 - versionCode = 2 - versionName = "1.1" + versionCode = 3 + versionName = "1.2" setProperty( "archivesBaseName", "ColorBoard_V" + versionName + "(${versionCode})_$timestamp" @@ -61,7 +61,6 @@ dependencies { androidTestImplementation("androidx.test.ext:junit:1.3.0") androidTestImplementation("androidx.test.espresso:espresso-core:3.7.0") - implementation("com.squareup.okhttp3:okhttp:5.3.2") implementation("com.github.bumptech.glide:glide:5.0.5") implementation ("jp.wasabeef:glide-transformations:4.3.0") @@ -77,5 +76,89 @@ dependencies { implementation ("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2") + implementation(files("libs/TradPlusLibrary_11_25_15_02-release.aar")) + implementation(files("libs/UpLoadLibrary_11_24_18_30-release.aar")) + + implementation ("com.squareup.okhttp3:okhttp:4.12.0") + 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..e9655af --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "616573398132", + "project_id": "colorboard-d9d7c", + "storage_bucket": "colorboard-d9d7c.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:616573398132:android:e509e06bdb4e5785cf7521", + "android_client_info": { + "package_name": "com.app.input.color.board" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyDzvYH3BxCh6hbRKA1IpxyapQ-0xtPh7PE" + } + ], + "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 98feaee..4f747c8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -3,7 +3,7 @@ xmlns:tools="http://schemas.android.com/tools"> - + + + } } private fun dealFile() { val openFile = appInstance.assets.open("res.json") diff --git a/app/src/main/java/com/app/input/color/board/uiactivity/CategoryActivity.java b/app/src/main/java/com/app/input/color/board/uiactivity/CategoryActivity.java index b31c186..69a0580 100644 --- a/app/src/main/java/com/app/input/color/board/uiactivity/CategoryActivity.java +++ b/app/src/main/java/com/app/input/color/board/uiactivity/CategoryActivity.java @@ -12,6 +12,7 @@ import androidx.fragment.app.Fragment; import androidx.viewpager2.adapter.FragmentStateAdapter; import androidx.viewpager2.widget.ViewPager2; +import com.ad.tradpluslibrary.TPAdManager; import com.app.input.color.board.R; import com.app.input.color.board.databinding.ActivityCategoryBinding; import com.app.input.color.board.utils.Common; @@ -24,6 +25,9 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; +import kotlin.Unit; +import kotlin.jvm.functions.Function0; + public class CategoryActivity extends AppCompatActivity { private ActivityCategoryBinding vb; @@ -36,6 +40,7 @@ public class CategoryActivity extends AppCompatActivity { setContentView(vb.getRoot()); init(); + } private void init() { diff --git a/app/src/main/java/com/app/input/color/board/uiactivity/CategoryListActivity.java b/app/src/main/java/com/app/input/color/board/uiactivity/CategoryListActivity.java index 8f86eef..f6bf9a5 100644 --- a/app/src/main/java/com/app/input/color/board/uiactivity/CategoryListActivity.java +++ b/app/src/main/java/com/app/input/color/board/uiactivity/CategoryListActivity.java @@ -6,6 +6,7 @@ import android.view.View; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.GridLayoutManager; +import com.ad.tradpluslibrary.TPAdManager; import com.app.input.color.board.App; import com.app.input.color.board.bean.BeanDetails; import com.app.input.color.board.bean.BeanWrapper; @@ -16,11 +17,15 @@ import com.app.input.color.board.utils.ListDecoration; import java.util.List; +import kotlin.Unit; +import kotlin.jvm.functions.Function0; + public class CategoryListActivity extends AppCompatActivity { private ActivityCategoryListBinding vb; - public static final String KEY_NAME ="class_name"; + public static final String KEY_NAME = "class_name"; private String name; private List data; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -30,27 +35,41 @@ public class CategoryListActivity extends AppCompatActivity { name = getIntent().getStringExtra(KEY_NAME); initData(); initClick(); + TPAdManager.INSTANCE.showTPAD(CategoryListActivity.this, new Function0() { + @Override + public Unit invoke() { + return null; + } + }); } - private void initData(){ + private void initData() { vb.className.setText(name); for (BeanWrapper beanWrapper : App.list) { - if(beanWrapper.getParentName().equals(name)){ + if (beanWrapper.getParentName().equals(name)) { data = beanWrapper.getKeyboardList(); } } ListDecoration listDecoration = new ListDecoration(3, 3, 0); - HomeChildAdapter adapterMain = new HomeChildAdapter(this,data); - vb.recycler.setLayoutManager(new GridLayoutManager(CategoryListActivity.this,3)); + HomeChildAdapter adapterMain = new HomeChildAdapter(this, data); + vb.recycler.setLayoutManager(new GridLayoutManager(CategoryListActivity.this, 3)); vb.recycler.setAdapter(adapterMain); vb.recycler.addItemDecoration(listDecoration); } - private void initClick(){ + + private void initClick() { vb.back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - finish(); + TPAdManager.INSTANCE.showTPAD(CategoryListActivity.this, new Function0() { + @Override + public Unit invoke() { + finish(); + return null; + } + }); + } }); } diff --git a/app/src/main/java/com/app/input/color/board/uiactivity/LauncherActivity.kt b/app/src/main/java/com/app/input/color/board/uiactivity/LauncherActivity.kt index 6042dcb..5622855 100644 --- a/app/src/main/java/com/app/input/color/board/uiactivity/LauncherActivity.kt +++ b/app/src/main/java/com/app/input/color/board/uiactivity/LauncherActivity.kt @@ -5,6 +5,8 @@ import android.os.Bundle import android.os.CountDownTimer import android.widget.ProgressBar import androidx.appcompat.app.AppCompatActivity +import com.ad.tradpluslibrary.TPAdManager +import com.app.input.color.board.App import com.app.input.color.board.utils.Common import com.app.input.color.board.R import kotlin.math.roundToInt @@ -12,7 +14,7 @@ import kotlin.math.roundToInt class LauncherActivity : AppCompatActivity() { private lateinit var progressBar: ProgressBar - private var countTime = 1000L + private var countTime = 13000L private lateinit var timer: CountDownTimer override fun onCreate(savedInstanceState: Bundle?) { @@ -24,22 +26,28 @@ class LauncherActivity : AppCompatActivity() { } private fun init() { - - timer = object : CountDownTimer(countTime, 100) { - override fun onTick(millisUntilFinished: Long) { - val percentage: Float = 100 - millisUntilFinished.toFloat() / countTime * 100 - val round = percentage.roundToInt() - progressBar.progress = round - } - - override fun onFinish() { - progressBar.progress = 100 - toHome() - } + TPAdManager.init( + this, + App.TAG, + "BEFCCABAC4EEBD6C4A4074003AB33A11", + "483BEF0A3DEEC7AFED651E2505783812", + "D1ECE81FAB4B993526DDDC6755A02A12", + "8AB3E49B0356A3D5DFFF3C2BF2849112" + ) { + } + 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() + + } diff --git a/app/src/main/java/com/app/input/color/board/uiactivity/SetKeyboardActivity.kt b/app/src/main/java/com/app/input/color/board/uiactivity/SetKeyboardActivity.kt index 8c908cc..8b93e5e 100644 --- a/app/src/main/java/com/app/input/color/board/uiactivity/SetKeyboardActivity.kt +++ b/app/src/main/java/com/app/input/color/board/uiactivity/SetKeyboardActivity.kt @@ -15,6 +15,8 @@ import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.ad.tradpluslibrary.TPAdManager + import com.app.input.color.board.App import com.app.input.color.board.R import com.app.input.color.board.bean.BeanDetails @@ -94,6 +96,7 @@ class SetKeyboardActivity : AppCompatActivity() { displayData() setApply() onClick() + TPAdManager.showTPAD(this@SetKeyboardActivity) { } } @@ -155,7 +158,7 @@ class SetKeyboardActivity : AppCompatActivity() { private fun onClick() { imgBack.setOnClickListener { - finish() + finish() } imgLike.setOnClickListener { @@ -230,13 +233,15 @@ class SetKeyboardActivity : AppCompatActivity() { private fun setApply() { applyBtn.setOnClickListener { - val checkEnable = Common.checkEnable(this) - val checkSetDefault = Common.checkSetDefault(this) - if (!checkEnable || !checkSetDefault) { - showDialog() - return@setOnClickListener + TPAdManager.showTPAD(this@SetKeyboardActivity){ + val checkEnable = Common.checkEnable(this) + val checkSetDefault = Common.checkSetDefault(this) + if (!checkEnable || !checkSetDefault) { + showDialog() + return@showTPAD + } + startDown() } - startDown() } } 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.kts b/build.gradle.kts index 6682ad5..60e749a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,7 +2,7 @@ plugins { id("com.android.application") version "8.9.0" 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 + id("com.google.gms.google-services") version "4.4.2" apply false + id ("com.google.firebase.crashlytics") version "3.0.2" apply false kotlin("kapt") version "2.0.0" } diff --git a/gradle.properties b/gradle.properties index 3c5031e..debf753 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ # http://www.gradle.org/docs/current/userguide/build_environment.html # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8 # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects diff --git a/settings.gradle.kts b/settings.gradle.kts index 34e4706..4cf7002 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -12,7 +12,26 @@ dependencyResolutionManagement { google() mavenCentral() maven("https://jitpack.io") - + //------------------------- 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") + } } }