diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 09638eb..6914e3f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -5,6 +5,12 @@ plugins { alias(libs.plugins.kotlin.android) id("io.objectbox") id ("kotlin-kapt") + id("com.google.gms.google-services") + id("com.google.firebase.crashlytics") + id("applovin-quality-service") +} +applovin { + apiKey = "4yWSuJdlSBRrsgCT2fEzZvNoBH0M1hzyqNP9ZiCTn0an2TBTdxk01Ips4aov__5L4dU8_sQpVw0_GOMLgIfJu_" } val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date()) android { @@ -15,8 +21,8 @@ android { applicationId = "com.drawing.drawsketch" minSdk = 24 targetSdk = 35 - versionCode = 1 - versionName = "1.0" + versionCode = 2 + versionName = "1.1" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" setProperty( "archivesBaseName", @@ -73,4 +79,30 @@ dependencies { implementation("androidx.camera:camera-view:${camerax_version}") //noinspection GradleDependency implementation("androidx.camera:camera-extensions:${camerax_version}") + + 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") + + + implementation ("com.squareup.okhttp3:okhttp:4.12.0") + implementation("com.squareup.okhttp3:logging-interceptor:4.12.0") + + implementation(files("libs/UpLoadLibrary_07_03_11_54-release.aar")) + implementation(files("libs/MaxLibrary_08_08_15_08-release.aar")) + + //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") + 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:+") } \ No newline at end of file diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 0000000..16fd323 --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,48 @@ +{ + "project_info": { + "project_number": "919002885894", + "project_id": "prank-tools-4a0d1", + "storage_bucket": "prank-tools-4a0d1.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:919002885894:android:2ecea1173b63d0f3aa3887", + "android_client_info": { + "package_name": "com.drawing.drawsketch" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyDIj60MaLSRNqpU3OHc9pI2yYfULRC3zUQ" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:919002885894:android:40a35ca642d748c0aa3887", + "android_client_info": { + "package_name": "com.prank.tool" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyDIj60MaLSRNqpU3OHc9pI2yYfULRC3zUQ" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ 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 new file mode 100644 index 0000000..c2ce202 Binary files /dev/null and b/app/libs/MaxLibrary_08_08_15_08-release.aar differ diff --git a/app/libs/UpLoadLibrary_07_03_11_54-release.aar b/app/libs/UpLoadLibrary_07_03_11_54-release.aar new file mode 100644 index 0000000..5a50672 Binary files /dev/null and b/app/libs/UpLoadLibrary_07_03_11_54-release.aar differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e8d585b..c323a7d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -22,6 +22,7 @@ android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/logo" android:label="@string/app_name" + android:networkSecurityConfig="@xml/net" android:roundIcon="@mipmap/logo" android:supportsRtl="true" android:theme="@style/Theme.DrawSketch" diff --git a/app/src/main/java/com/drawing/drawsketch/App.kt b/app/src/main/java/com/drawing/drawsketch/App.kt index 6510248..f9b63f8 100644 --- a/app/src/main/java/com/drawing/drawsketch/App.kt +++ b/app/src/main/java/com/drawing/drawsketch/App.kt @@ -3,6 +3,8 @@ package com.drawing.drawsketch import android.app.Application import android.content.Context import android.util.Log +import com.ad.maxlibrary.MaxInitManager +import com.up.uploadlibrary.UpLoadManager class App : Application() { @@ -16,6 +18,16 @@ class App : Application() { super.onCreate() mInstance = this DbBase.init(this) + + MaxInitManager.init( + this, + "VVN64VW3_CeQrIZ9sSUMQAWAS4XI14L2etylkN_E2IkJpZrsF6Xt26aMuwBGOboUiFvkTVJ28EbPW53NL_6SPT", + "4b395fbe56938e55", + "1333fd8414ece2be", + "41633fd274e1e91c", + TAG + ) + UpLoadManager.init(this,TAG) assetFolders = getAssetFolders(this) } diff --git a/app/src/main/java/com/drawing/drawsketch/FullWelcomeActivity.kt b/app/src/main/java/com/drawing/drawsketch/FullWelcomeActivity.kt index 521aa94..729d609 100644 --- a/app/src/main/java/com/drawing/drawsketch/FullWelcomeActivity.kt +++ b/app/src/main/java/com/drawing/drawsketch/FullWelcomeActivity.kt @@ -9,10 +9,11 @@ import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat +import com.ad.maxlibrary.WelComManager import com.drawing.drawsketch.main.MainActivity class FullWelcomeActivity : AppCompatActivity() { - private val countTime = 1000L + private val countTime = 14000L private var countDownTimer:CountDownTimer?= null private lateinit var textView:TextView @@ -30,21 +31,15 @@ class FullWelcomeActivity : AppCompatActivity() { insets } - countDownTimer = object :CountDownTimer(countTime, 100) { - override fun onTick(millisUntilFinished: Long) { - val progressPercentage: Int = ((100 * millisUntilFinished) / countTime).toInt() - val progressInt = 100 - progressPercentage - textView.text = getString(R.string.welcome_text_progress, progressInt) - welpb.progress = progressInt - - } - - override fun onFinish() { - toMainAct() - } - + countDownTimer = WelComManager.initTimer(this@FullWelcomeActivity,countTime,{ + val progressPercentage: Int = ((100 * it) / countTime).toInt() + val progressInt = 100 - progressPercentage + textView.text = getString(R.string.welcome_text_progress, progressInt) + welpb.progress = progressInt + }){ + toMainAct() } - countDownTimer?.start() + } private fun toMainAct(){ diff --git a/app/src/main/java/com/drawing/drawsketch/all/CategoryListActivity.kt b/app/src/main/java/com/drawing/drawsketch/all/CategoryListActivity.kt index 7f2dc0a..ad9070f 100644 --- a/app/src/main/java/com/drawing/drawsketch/all/CategoryListActivity.kt +++ b/app/src/main/java/com/drawing/drawsketch/all/CategoryListActivity.kt @@ -11,6 +11,7 @@ import androidx.core.view.WindowInsetsCompat import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.ad.maxlibrary.MaxManager import com.drawing.drawsketch.App import com.drawing.drawsketch.ItemSpace import com.drawing.drawsketch.R @@ -27,6 +28,7 @@ class CategoryListActivity : AppCompatActivity() { super.onCreate(savedInstanceState) enableEdgeToEdge() setContentView(R.layout.activity_category_list) + MaxManager.onLoadAd() ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) @@ -53,6 +55,10 @@ class CategoryListActivity : AppCompatActivity() { } } + MaxManager.startShowMaxAd(this@CategoryListActivity){ + + } + } private fun InitCategoryList(category: String): CategoryAllAdapter { diff --git a/app/src/main/java/com/drawing/drawsketch/collection/CollectionActivity.kt b/app/src/main/java/com/drawing/drawsketch/collection/CollectionActivity.kt index a39b5d1..3c4b5cd 100644 --- a/app/src/main/java/com/drawing/drawsketch/collection/CollectionActivity.kt +++ b/app/src/main/java/com/drawing/drawsketch/collection/CollectionActivity.kt @@ -13,6 +13,7 @@ import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.ad.maxlibrary.MaxManager import com.drawing.drawsketch.App import com.drawing.drawsketch.DbBase import com.drawing.drawsketch.ItemSpace @@ -39,7 +40,7 @@ class CollectionActivity : AppCompatActivity() { insets } - + MaxManager.onLoadAd() recyclerView = findViewById(R.id.collection_recyclerview) fmBack = findViewById(R.id.frame_back) emptyLayout = findViewById(R.id.layout_empty) @@ -47,6 +48,9 @@ class CollectionActivity : AppCompatActivity() { showEmpty(true) initData() setClick() + MaxManager.startShowMaxAd(this@CollectionActivity){ + + } } private fun setClick(){ diff --git a/app/src/main/java/com/drawing/drawsketch/preview/PreviewActivity.kt b/app/src/main/java/com/drawing/drawsketch/preview/PreviewActivity.kt index 1dc8289..583ecca 100644 --- a/app/src/main/java/com/drawing/drawsketch/preview/PreviewActivity.kt +++ b/app/src/main/java/com/drawing/drawsketch/preview/PreviewActivity.kt @@ -36,6 +36,7 @@ import com.drawing.drawsketch.DbBase import com.drawing.drawsketch.R import com.drawing.drawsketch.Utils import androidx.core.graphics.scale +import com.ad.maxlibrary.MaxManager class PreviewActivity : AppCompatActivity() ,OnTouchListener{ companion object{ @@ -83,6 +84,7 @@ class PreviewActivity : AppCompatActivity() ,OnTouchListener{ v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) insets } + MaxManager.onLoadAd() curBitmapPath = intent.getStringExtra(IntentKeyPath) imTab1 = findViewById(R.id.im_tab1) @@ -101,6 +103,9 @@ class PreviewActivity : AppCompatActivity() ,OnTouchListener{ imTab3.setSelected(DbBase.queryIsLike(curBitmapPath)) setClick() + MaxManager.startShowMaxAd(this@PreviewActivity){ + + } } private fun setClick(){ diff --git a/app/src/main/java/com/drawing/drawsketch/upload/UploadActivity.kt b/app/src/main/java/com/drawing/drawsketch/upload/UploadActivity.kt index ee4b4ba..621073c 100644 --- a/app/src/main/java/com/drawing/drawsketch/upload/UploadActivity.kt +++ b/app/src/main/java/com/drawing/drawsketch/upload/UploadActivity.kt @@ -25,6 +25,7 @@ import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.ad.maxlibrary.MaxManager import com.drawing.drawsketch.App import com.drawing.drawsketch.DbBase import com.drawing.drawsketch.ItemSpace @@ -65,7 +66,7 @@ class UploadActivity : AppCompatActivity() { v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) insets } - + MaxManager.onLoadAd() recyclerView = findViewById(R.id.list_recyclerview) fmBack = findViewById(R.id.frame_back) emptyLayout = findViewById(R.id.layout_empty) @@ -124,15 +125,19 @@ class UploadActivity : AppCompatActivity() { finish() } imageUpload.setOnClickListener { - dialog = dialog ?: DialogSelect { type-> - if(type == DialogSelect.TYPE_CAMERA){ - openCamera() - }else{ - openGallery() - } + MaxManager.startShowMaxAd(this@UploadActivity){ + dialog = dialog ?: DialogSelect { type-> + if(type == DialogSelect.TYPE_CAMERA){ + openCamera() + }else{ + openGallery() + } + + } + dialog!!.show(supportFragmentManager, "") } - dialog!!.show(supportFragmentManager, "") + } } 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 d1b1667..603d1f5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,9 +2,16 @@ plugins { alias(libs.plugins.android.application) apply false 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("io.objectbox:objectbox-gradle-plugin:4.0.3") + classpath ("com.applovin.quality:AppLovinQualityServiceGradlePlugin:+") } -} \ No newline at end of file +} + diff --git a/settings.gradle.kts b/settings.gradle.kts index 7c6dad2..e509b31 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -16,6 +16,9 @@ dependencyResolutionManagement { repositories { google() mavenCentral() + 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") } } }