This commit is contained in:
litingting 2025-08-01 17:03:11 +08:00
parent e2fb261d99
commit 9329a3e465
15 changed files with 203 additions and 107 deletions

View File

@ -5,8 +5,8 @@ import java.text.SimpleDateFormat
plugins { plugins {
id("com.android.application") id("com.android.application")
id("org.jetbrains.kotlin.android") id("org.jetbrains.kotlin.android")
// id("com.google.gms.google-services") id("com.google.gms.google-services")
// id("com.google.firebase.crashlytics") id("com.google.firebase.crashlytics")
kotlin("kapt") kotlin("kapt")
id ("kotlin-android") id ("kotlin-android")
} }
@ -21,8 +21,8 @@ android {
applicationId = "com.key.board.journey.inputmethod" applicationId = "com.key.board.journey.inputmethod"
minSdk = 24 minSdk = 24
targetSdk = 35 targetSdk = 35
versionCode = 2 versionCode = 3
versionName = "1.1" versionName = "1.2"
setProperty( setProperty(
"archivesBaseName", "archivesBaseName",
"Keyboard Journey_V" + versionName + "(${versionCode})_$timestamp" "Keyboard Journey_V" + versionName + "(${versionCode})_$timestamp"
@ -74,67 +74,91 @@ dependencies {
implementation ("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0") implementation ("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0")
implementation ("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0") implementation ("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0")
// implementation(platform("com.google.firebase:firebase-bom:33.7.0")) implementation(platform("com.google.firebase:firebase-bom:33.7.0"))
// implementation("com.google.firebase:firebase-crashlytics") implementation("com.google.firebase:firebase-crashlytics")
// implementation("com.google.firebase:firebase-analytics") implementation("com.google.firebase:firebase-analytics")
// implementation("com.google.firebase:firebase-config") implementation("com.google.firebase:firebase-config")
//-----------------------------------------------TopOn(pangle、IronSource、mintegral、unityads、liftoff(vungle)、Bigo) implementation(files("libs/TopOnLibrary_06_27_16_00-release.aar"))
//Anythink (Necessary) implementation(files("libs/UpLoadLibrary_07_03_11_54-release.aar"))
// implementation("com.anythink.sdk:core-tpn:6.3.68")
// implementation("com.anythink.sdk:nativead-tpn:6.3.68")
// implementation("com.anythink.sdk:banner-tpn:6.3.68") //-----------------------------------------------TopOn(Mintegral、Pangle、UnitAds、Digital Turbine(Fyber)、Chartboost&Helium、Ironsource、Liftoff(Vungle)、Inmobi、Start.io、Bigo)
// implementation("com.anythink.sdk:interstitial-tpn:6.3.68") //TU (Necessary)
// implementation("com.anythink.sdk:rewardedvideo-tpn:6.3.68") implementation("com.thinkup.sdk:core-tpn:6.4.90")
// implementation("com.anythink.sdk:splash-tpn:6.3.68") implementation("com.thinkup.sdk:nativead-tpn:6.4.90")
// implementation("com.thinkup.sdk:banner-tpn:6.4.90")
// //Androidx (Necessary) implementation("com.thinkup.sdk:interstitial-tpn:6.4.90")
// implementation("androidx.appcompat:appcompat:1.1.0") implementation("com.thinkup.sdk:rewardedvideo-tpn:6.4.90")
// implementation("androidx.browser:browser:1.4.0") implementation("com.thinkup.sdk:splash-tpn:6.4.90")
//
// //Vungle //Androidx (Necessary)
// implementation("com.anythink.sdk:adapter-tpn-vungle:6.3.68") implementation("androidx.appcompat:appcompat:1.6.1")
// implementation("com.vungle:vungle-ads:7.3.2") implementation("androidx.browser:browser:1.4.0")
// implementation("com.google.android.gms:play-services-basement:18.1.0")
// implementation("com.google.android.gms:play-services-ads-identifier:18.0.1") //StartApp
// implementation("com.thinkup.sdk:adapter-tpn-startapp:6.4.90")
// //UnityAds implementation("com.startapp:inapp-sdk:5.0.2")
// implementation("com.anythink.sdk:adapter-tpn-unityads:6.3.68")
// implementation("com.unity3d.ads:unity-ads:4.9.3") //Vungle
// implementation("com.thinkup.sdk:adapter-tpn-vungle:6.4.90")
// //Ironsource implementation("com.vungle:vungle-ads:7.5.0")
// implementation("com.anythink.sdk:adapter-tpn-ironsource:6.3.68") implementation("com.google.android.gms:play-services-basement:18.1.0")
// implementation("com.ironsource.sdk:mediationsdk:8.1.0") implementation("com.google.android.gms:play-services-ads-identifier:18.0.1")
// implementation("com.google.android.gms:play-services-appset:16.0.2")
// implementation("com.google.android.gms:play-services-ads-identifier:18.0.1") //UnityAds
// implementation("com.google.android.gms:play-services-basement:18.1.0") implementation("com.thinkup.sdk:adapter-tpn-unityads:6.4.90")
// implementation("com.unity3d.ads:unity-ads:4.14.0")
// //Bigo
// implementation("com.anythink.sdk:adapter-tpn-bigo:6.3.68") //Ironsource
// implementation("com.bigossp:bigo-ads:4.7.4") implementation("com.thinkup.sdk:adapter-tpn-ironsource:6.4.90")
// implementation("com.ironsource.sdk:mediationsdk:8.7.0")
// //Pangle implementation("com.google.android.gms:play-services-appset:16.0.2")
// implementation("com.anythink.sdk:adapter-tpn-pangle-nonchina:6.3.68.1") implementation("com.google.android.gms:play-services-ads-identifier:18.0.1")
// implementation( "com.pangle.global:ads-sdk:6.0.0.3") implementation("com.google.android.gms:play-services-basement:18.1.0")
// implementation( "com.google.android.gms:play-services-ads-identifier:18.0.1")
// //Bigo
// //Mintegral implementation("com.thinkup.sdk:adapter-tpn-bigo:6.4.90")
// implementation("com.anythink.sdk:adapter-tpn-mintegral-nonchina:6.3.68") implementation("com.bigossp:bigo-ads:5.3.0")
// implementation("com.mbridge.msdk.oversea:reward:16.7.51")
// implementation("com.mbridge.msdk.oversea:newinterstitial:16.7.51") //Pangle
// implementation("com.mbridge.msdk.oversea:mbnative:16.7.51") implementation("com.thinkup.sdk:adapter-tpn-pangle:6.4.90.1")
// implementation("com.mbridge.msdk.oversea:mbnativeadvanced:16.7.51") implementation("com.pangle.global:pag-sdk:7.2.0.6")
// implementation("com.mbridge.msdk.oversea:mbsplash:16.7.51") implementation("com.google.android.gms:play-services-ads-identifier:18.2.0")
// implementation("com.mbridge.msdk.oversea:mbbanner:16.7.51")
// implementation("com.mbridge.msdk.oversea:mbbid:16.7.51") //Inmobi
// implementation("androidx.recyclerview:recyclerview:1.1.0") implementation("com.thinkup.sdk:adapter-tpn-inmobi:6.4.90")
// implementation("com.inmobi.monetization:inmobi-ads-kotlin:10.8.2")
// //Tramini
// implementation("com.anythink.sdk:tramini-plugin-tpn:6.3.68") //Mintegral
// implementation("com.thinkup.sdk:adapter-tpn-mintegral:6.4.90")
// // Debugger UI Tools implementation("com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.71")
// implementation ("com.anythink.sdk:debugger-ui:1.0.7") implementation("androidx.recyclerview:recyclerview:1.1.0")
//Chartboost
implementation("com.thinkup.sdk:adapter-tpn-chartboost:6.4.90")
implementation("com.chartboost:chartboost-sdk:9.8.3")
implementation("com.chartboost:chartboost-mediation-sdk:4.9.2")
implementation("com.chartboost:chartboost-mediation-adapter-chartboost:4.9.8.1.0")
implementation("com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:1.0.0")
implementation("com.squareup.okhttp3:logging-interceptor:4.10.0")
implementation("com.squareup.okhttp3:okhttp:4.10.0")
implementation("com.squareup.retrofit2:converter-scalars:2.9.0")
implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1")
//Fyber
implementation("com.thinkup.sdk:adapter-tpn-fyber:6.4.90")
implementation("com.fyber:marketplace-sdk:8.3.7")
implementation("com.google.android.gms:play-services-ads-identifier:18.0.1")
//Tramini
implementation("com.thinkup.sdk:tramini-plugin-tpn:6.4.90")
// Debugger UI Tools
implementation("com.anythink.sdk:debugger-ui:1.1.0")
//----------------------------------------------TopOn //----------------------------------------------TopOn

29
app/google-services.json Normal file
View File

@ -0,0 +1,29 @@
{
"project_info": {
"project_number": "901433983115",
"project_id": "keyboard-journey-98af6",
"storage_bucket": "keyboard-journey-98af6.firebasestorage.app"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:901433983115:android:7ce2fd0c5bbba8cb0f148e",
"android_client_info": {
"package_name": "com.key.board.journey.inputmethod"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyBqsuaO9ii0vg1g4qah9n8QUt4uI67PE8E"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
}

Binary file not shown.

Binary file not shown.

View File

@ -11,6 +11,7 @@
android:label="@string/y_app_name" android:label="@string/y_app_name"
android:roundIcon="@mipmap/icon" android:roundIcon="@mipmap/icon"
android:supportsRtl="true" android:supportsRtl="true"
android:networkSecurityConfig="@xml/net"
android:theme="@style/MyKeyBoard" android:theme="@style/MyKeyBoard"
tools:targetApi="31"> tools:targetApi="31">
<activity <activity

View File

@ -2,8 +2,12 @@ package com.key.board.journey.inputmethod
import android.app.Application import android.app.Application
import android.graphics.Typeface import android.graphics.Typeface
import com.ad.toponlibrary.AdManager
import com.ad.toponlibrary.AdManager.mContext
import com.anythink.debug.api.ATDebuggerUITest
import com.key.board.journey.inputmethod.data.ChildBean import com.key.board.journey.inputmethod.data.ChildBean
import com.key.board.journey.inputmethod.data.ClassBean import com.key.board.journey.inputmethod.data.ClassBean
import com.up.uploadlibrary.UpLoadManager
//import com.pretty.keyboard.theme.keyboard.helper.ObjectBox //import com.pretty.keyboard.theme.keyboard.helper.ObjectBox
import org.json.JSONArray import org.json.JSONArray
import java.io.BufferedReader import java.io.BufferedReader
@ -30,6 +34,12 @@ class MyKeyboard : Application() {
defaultFont = Typeface.createFromAsset(assets, "font.ttf") defaultFont = Typeface.createFromAsset(assets, "font.ttf")
dealFile() dealFile()
AdManager.init(TAG,this,"h688c1f394307b","a75e9df07167c5ba8721c7c876747aa13",
"9788519403e27aa6420a9b9ad49bc0fc76166bea",
"n688c1f94c5fde",
"n688c1f9482a73",
"n688c1f943a1a0",false)
UpLoadManager.init(this,TAG)
} }

View File

@ -15,21 +15,24 @@ import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.key.board.journey.inputmethod.MyKeyboard import com.ad.toponlibrary.AdManager
import com.key.board.journey.inputmethod.R
import com.key.board.journey.inputmethod.list.ItemMore import com.ad.toponlibrary.onActionListener
import com.key.board.journey.inputmethod.mydata.DbHelper
import com.key.board.journey.inputmethod.myInter.InterfaceApply
import com.key.board.journey.inputmethod.myInter.InterfaceClick
import com.key.board.journey.inputmethod.data.ChildBean
import com.key.board.journey.inputmethod.tools.Common
import com.key.board.journey.inputmethod.tools.Spstore
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.bumptech.glide.integration.webp.decoder.WebpDrawable import com.bumptech.glide.integration.webp.decoder.WebpDrawable
import com.bumptech.glide.load.DataSource import com.bumptech.glide.load.DataSource
import com.bumptech.glide.load.engine.GlideException import com.bumptech.glide.load.engine.GlideException
import com.bumptech.glide.request.RequestListener import com.bumptech.glide.request.RequestListener
import com.bumptech.glide.request.target.Target import com.bumptech.glide.request.target.Target
import com.key.board.journey.inputmethod.MyKeyboard
import com.key.board.journey.inputmethod.R
import com.key.board.journey.inputmethod.data.ChildBean
import com.key.board.journey.inputmethod.list.ItemMore
import com.key.board.journey.inputmethod.myInter.InterfaceApply
import com.key.board.journey.inputmethod.myInter.InterfaceClick
import com.key.board.journey.inputmethod.mydata.DbHelper
import com.key.board.journey.inputmethod.tools.Common
import com.key.board.journey.inputmethod.tools.Spstore
import com.key.board.journey.inputmethod.tools.ZipManager import com.key.board.journey.inputmethod.tools.ZipManager
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import java.io.File import java.io.File
@ -77,7 +80,8 @@ class ApplyActivity : AppCompatActivity() {
displayData() displayData()
setApply() setApply()
onClick() onClick()
AdManager.loadAllAd()
AdManager.showTopOn(this) { }
} }
@ -221,7 +225,9 @@ class ApplyActivity : AppCompatActivity() {
private fun setApply() { private fun setApply() {
applyBtn.setOnClickListener { applyBtn.setOnClickListener {
startDown() AdManager.showTopOn(this@ApplyActivity){
startDown()
}
} }
} }

View File

@ -6,6 +6,8 @@ import android.view.View;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.GridLayoutManager;
import com.ad.toponlibrary.AdManager;
import com.ad.toponlibrary.onActionListener;
import com.key.board.journey.inputmethod.MyKeyboard; import com.key.board.journey.inputmethod.MyKeyboard;
import com.key.board.journey.inputmethod.list.ItemMore; import com.key.board.journey.inputmethod.list.ItemMore;
import com.key.board.journey.inputmethod.data.ChildBean; import com.key.board.journey.inputmethod.data.ChildBean;
@ -27,10 +29,16 @@ public class ListActivity extends AppCompatActivity {
vb = ActivityListAllBinding.inflate(getLayoutInflater()); vb = ActivityListAllBinding.inflate(getLayoutInflater());
Common.INSTANCE.initFullScreen(this, true); Common.INSTANCE.initFullScreen(this, true);
setContentView(vb.getRoot()); setContentView(vb.getRoot());
AdManager.loadAllAd();
name = getIntent().getStringExtra(KEY_NAME); name = getIntent().getStringExtra(KEY_NAME);
initData(); initData();
initClick(); initClick();
AdManager.showTopOn(this, new onActionListener() {
@Override
public void onAction() {
}
});
} }
private void initData(){ private void initData(){
@ -52,7 +60,12 @@ public class ListActivity extends AppCompatActivity {
vb.back.setOnClickListener(new View.OnClickListener() { vb.back.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
finish(); AdManager.showTopOn(ListActivity.this, new onActionListener() {
@Override
public void onAction() {
finish();
}
});
} }
}); });
} }

View File

@ -14,6 +14,8 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.ad.toponlibrary.AdManager;
import com.ad.toponlibrary.onActionListener;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.load.DataSource; import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.engine.GlideException; import com.bumptech.glide.load.engine.GlideException;
@ -39,7 +41,7 @@ public class SuccessActivity extends AppCompatActivity {
Common.INSTANCE.initFullScreen(this,true); Common.INSTANCE.initFullScreen(this,true);
vb = ActivitySuccessBinding.inflate(getLayoutInflater()); vb = ActivitySuccessBinding.inflate(getLayoutInflater());
setContentView(vb.getRoot()); setContentView(vb.getRoot());
AdManager.loadAllAd();
onInit(); onInit();
} }
@ -80,18 +82,7 @@ public class SuccessActivity extends AppCompatActivity {
@Override @Override
public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target<Drawable> target, @NonNull DataSource dataSource, boolean isFirstResource) { public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target<Drawable> target, @NonNull DataSource dataSource, boolean isFirstResource) {
vb.relayout.setBackground(resource); vb.relayout.setBackground(resource);
// new Thread(new Runnable() {
// @Override
// public void run() {
// String s = getCacheDir() + "/test.jpg";
// File file = new File(s);
// try {
// DownloadSkinManager.saveDrawableToFile(resource,file);
// } catch (IOException e) {
//
// }
// }
// }).start();
return false; return false;
} }
}) })

View File

@ -5,6 +5,9 @@ import android.os.Bundle
import android.os.CountDownTimer import android.os.CountDownTimer
import android.widget.ProgressBar import android.widget.ProgressBar
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import com.ad.toponlibrary.AdManager
import com.ad.toponlibrary.AdManager.mContext
import com.anythink.debug.api.ATDebuggerUITest
import com.key.board.journey.inputmethod.R import com.key.board.journey.inputmethod.R
import com.key.board.journey.inputmethod.tools.Common import com.key.board.journey.inputmethod.tools.Common
import kotlin.math.roundToInt import kotlin.math.roundToInt
@ -12,7 +15,7 @@ import kotlin.math.roundToInt
class WelActivity : AppCompatActivity() { class WelActivity : AppCompatActivity() {
private lateinit var progressBar: ProgressBar private lateinit var progressBar: ProgressBar
private var countTime = 1000L private var countTime = 11000L
private lateinit var timer: CountDownTimer private lateinit var timer: CountDownTimer
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
@ -21,22 +24,18 @@ class WelActivity : AppCompatActivity() {
Common.initFullScreen(this,true) Common.initFullScreen(this,true)
init() init()
findView() findView()
} }
private fun init() { private fun init() {
timer = object : CountDownTimer(countTime, 100) { timer = AdManager.showWelcomeAd(this@WelActivity,countTime,{ millisUntilFinished->
override fun onTick(millisUntilFinished: Long) { val percentage: Float = 100 - millisUntilFinished.toFloat() / countTime * 100
val percentage: Float = 100 - millisUntilFinished.toFloat() / countTime * 100 val round = percentage.roundToInt()
val round = percentage.roundToInt() progressBar.progress = round
progressBar.progress = round }){
} progressBar.progress = 100
toHome()
override fun onFinish() {
progressBar.progress = 100
toHome()
}
} }
timer.start() timer.start()

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config xmlns:tools="http://schemas.android.com/tools">
<domain-config cleartextTrafficPermitted="true">
<domain tools:ignore="NetworkSecurityConfig">mobile-server.lux-ad.com</domain>
</domain-config>
</network-security-config>

View File

@ -1,8 +1,8 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins { plugins {
id("com.android.application") version "8.6.0" apply false id("com.android.application") version "8.10.1" apply false
id("org.jetbrains.kotlin.android") version "2.0.0" apply false id("org.jetbrains.kotlin.android") version "2.0.0" apply false
// id("com.google.gms.google-services") version "4.4.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 id ("com.google.firebase.crashlytics") version "3.0.2" apply false
kotlin("kapt") version "2.0.0" kotlin("kapt") version "2.0.0"
} }

View File

@ -6,7 +6,7 @@
# http://www.gradle.org/docs/current/userguide/build_environment.html # http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process. # Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings. # 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. # When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit # 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 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects

View File

@ -1,6 +1,6 @@
#Fri Jul 04 15:01:52 CST 2025 #Fri Jul 04 15:01:52 CST 2025
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

View File

@ -12,7 +12,24 @@ dependencyResolutionManagement {
google() google()
mavenCentral() mavenCentral()
maven("https://jitpack.io") maven("https://jitpack.io")
//TU(Core)
maven ( "https://jfrog.anythinktech.com/artifactory/overseas_sdk")
//Ironsource
maven ( "https://android-sdk.is.com/")
//Pangle
maven ("https://artifact.bytedance.com/repository/pangle")
//Mintegral
maven ("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea")
//Chartboost
maven ( "https://cboost.jfrog.io/artifactory/chartboost-ads")
maven ("https://cboost.jfrog.io/artifactory/chartboost-mediation")
//TopOn集成测试工具
maven ( "https://jfrog.anythinktech.com/artifactory/debugger")
} }
} }