V1.2(3) 接入IronSource-DT

This commit is contained in:
litingting 2026-01-13 18:21:17 +08:00
parent a076484056
commit 6ed1de4f0c
14 changed files with 122 additions and 218 deletions

3
.idea/dbnavigator.xml generated
View File

@ -10,6 +10,9 @@
<component name="DBNavigator.Project.DatabaseFileManager">
<open-files />
</component>
<component name="DBNavigator.Project.ExecutionManager">
<retain-sticky-names value="false" />
</component>
<component name="DBNavigator.Project.Settings">
<connections />
<browser-settings>

View File

@ -1,5 +1,7 @@
import java.io.FileInputStream
import java.text.SimpleDateFormat
import java.util.Date
import java.util.Properties
plugins {
alias(libs.plugins.android.application)
@ -9,6 +11,10 @@ plugins {
id("com.google.firebase.crashlytics")
}
val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date())
val keystorePropertiesFile = rootProject.file("keystore.properties")
val keystoreProperties = Properties().apply {
load(FileInputStream(keystorePropertiesFile))
}
android {
namespace = "com.gallery.free.wallpaper"
compileSdk = 36
@ -17,18 +23,24 @@ android {
applicationId = "com.gallery.free.wallpaper"
minSdk = 24
targetSdk = 36
versionCode = 2
versionName = "1.1"
versionCode = 3
versionName = "1.2"
setProperty("archivesBaseName", "WallpaperGallery_V" + versionName + "(${versionCode})_$timestamp")
testInstrumentationRunner = "androidx.live.runner.AndroidJUnitRunner"
}
signingConfigs {
create("release") {
storeFile = file(keystoreProperties["keystoreFile"] as String)
storePassword = keystoreProperties["key_store_password"] as String
keyAlias = keystoreProperties["key_alias"] as String
keyPassword = keystoreProperties["key_password"] as String
}
}
buildTypes {
release {
isMinifyEnabled = true
signingConfig = signingConfigs.getByName("release")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
@ -77,7 +89,7 @@ dependencies {
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
implementation(files("libs/TradPlusLibrary_01_04_12_20-release.aar"))
implementation(files("libs/UpLoadLibrary_12_03_15_13-release.aar"))
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2")
implementation("com.google.android.gms:play-services-ads-identifier:18.0.1")
@ -91,76 +103,40 @@ dependencies {
implementation ("com.squareup.okhttp3:okhttp:4.12.0")
implementation("com.squareup.okhttp3:logging-interceptor:4.12.0")
// TradPlus
implementation("com.tradplusad:tradplus:15.2.0.1")
implementation("androidx.legacy:legacy-support-v4:1.0.0")
implementation("androidx.appcompat:appcompat:1.3.0-alpha02")
// IronSource
implementation("com.ironsource.sdk:mediationsdk:9.0.0")
implementation("com.tradplusad:tradplus-ironsource:10.15.2.0.1")
implementation(files("libs/IronSourceLibrary_01_07_18_13-release.aar"))
// Pangle
implementation("com.tradplusad:tradplus-pangle:19.15.2.0.1")
//---------------------------ironSource
implementation("com.unity3d.ads-mediation:mediation-sdk:9.2.0")
// Add BIGO Ads Network
implementation("com.unity3d.ads-mediation:bigo-adapter:5.2.0")
implementation("com.bigossp:bigo-ads:5.6.2")
// Add Chartboost Network
implementation("com.unity3d.ads-mediation:chartboost-adapter:5.2.0")
// implementation("com.chartboost:chartboost-sdk:9.10.2")
implementation("com.chartboost:chartboost-sdk:9.8.3")
// Add DT Exchange Network
implementation("com.unity3d.ads-mediation:fyber-adapter:5.2.0")
implementation("com.fyber:marketplace-sdk:8.4.1")
// Add InMobi Network
implementation("com.unity3d.ads-mediation:inmobi-adapter:5.3.0")
implementation("com.inmobi.monetization:inmobi-ads-kotlin:11.1.0")
// Add Liftoff Monetize Network
implementation("com.unity3d.ads-mediation:vungle-adapter:5.2.0")
implementation("com.vungle:vungle-ads:7.6.1")
// Add Mintegral Network
implementation("com.unity3d.ads-mediation:mintegral-adapter:5.3.0")
implementation("com.mbridge.msdk.oversea:mbridge_android_sdk:17.0.31")
// Add Moloco Network
implementation("com.unity3d.ads-mediation:moloco-adapter:5.5.0")
implementation("com.moloco.sdk:moloco-sdk:4.3.1")
// Add Pangle Network
implementation("com.unity3d.ads-mediation:pangle-adapter:5.4.0")
implementation("com.pangle.global:pag-sdk:7.8.0.7")
// Add Unity Ads Network
implementation("com.unity3d.ads-mediation:unityads-adapter:5.3.0")
implementation("com.unity3d.ads:unity-ads:4.16.4")
// UnityAds
implementation("com.tradplusad:tradplus-unity:5.15.2.0.1")
implementation("com.unity3d.ads:unity-ads:4.16.3")
// Chartboost
implementation("com.tradplusad:tradplus-chartboostx:15.15.2.0.1")
implementation("com.chartboost:chartboost-sdk:9.10.0")
implementation("com.google.android.gms:play-services-ads-identifier:17.0.0")
implementation("com.google.android.gms:play-services-base:17.4.0")
//上面新版本下载失败用旧版本
// 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.15.2.0.1")
implementation("com.inmobi.monetization:inmobi-ads-kotlin:11.0.0")
implementation("com.squareup.okhttp3:okhttp:3.14.9")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4")
implementation("androidx.core:core-ktx:1.5.0")
implementation("org.jetbrains.kotlin:kotlin-stdlib:1.9.0")
implementation("com.google.android.gms:play-services-ads-identifier:18.0.1")
implementation("com.google.android.gms:play-services-location:21.0.1") // optional
implementation("androidx.browser:browser:1.8.0")
implementation("com.squareup.picasso:picasso:2.8")
implementation("androidx.viewpager:viewpager:1.0.0")
implementation("androidx.recyclerview:recyclerview:1.2.1")
// Fyber
implementation("com.fyber:marketplace-sdk:8.4.0")
implementation("com.tradplusad:tradplus-fyber:24.15.2.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")
// Mintegral
implementation("com.tradplusad:tradplus-mintegralx_overseas:18.15.2.0.1")
implementation("androidx.recyclerview:recyclerview:1.1.0")
implementation("com.mbridge.msdk.oversea:mbridge_android_sdk:16.10.11")
// Liftoff (Vungle)
implementation("com.tradplusad:tradplus-vunglex:7.15.2.0.1")
implementation("com.vungle:vungle-ads:7.6.0")
// Bigo
implementation("com.bigossp:bigo-ads:5.5.2")
implementation("com.tradplusad:tradplus-bigo:57.15.2.0.1")
// Cross Promotion
implementation("com.tradplusad:tradplus-crosspromotion:27.15.2.0.1")
// TP Exchange注意与主包版本同步
implementation("com.google.code.gson:gson:2.8.6")
implementation("com.tradplusad:tp_exchange:40.15.2.0.1")
// Google UMP
implementation ("com.google.android.ump:user-messaging-platform:3.2.0")
}

Binary file not shown.

View File

@ -31,5 +31,3 @@
-keepattributes Signature
-keepattributes AnnotationDefault,RuntimeVisibleAnnotations
-keep public class com.tradplus.** { *; }
-keep class com.tradplus.ads.** { *; }

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.SET_WALLPAPER" />
@ -35,9 +35,7 @@
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
tools:targetApi="30">
<meta-data
android:name="com.startapp.sdk.MIXED_AUDIENCE"
android:value="true"/>
<activity
android:name=".LocalPreActivity"

View File

@ -1,90 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
@font-face {
font-family: 'AlimamaShuheiti';
src: url('file:///android_asset/fonts/alimama_shuheiti.ttf');
}
body {
font-family: 'AlimamaShuheiti', sans-serif;
line-height: 1.5;
padding: 0 20px 20px 20px;
max-width: 800px;
margin: 0 auto;
background-color: transparent;
}
h2 {
color: #555555;
margin-top: 24px;
}
.last-updated {
color: #666666;
font-style: italic;
text-align: center;
}
ul { padding-left: 20px; }
li {
margin-bottom: 7px;
color: #555555;
}
p {
color: #555555;
}
strong {
color: #3498db;
}
</style>
</head>
<body>
<p class="last-updated">Last Updated: November 27, 2025</p>
<h2>1. Information Collection</h2>
<p>Our wallpaper application respects your privacy. We commit to:</p>
<ul>
<li>Not collecting any personally identifiable information</li>
<li>Not requiring user registration or login</li>
<li>Not tracking user browsing habits</li>
<li>Not accessing your personal files or data</li>
</ul>
<h2>2. Wallpaper Download and Storage</h2>
<p>When you download wallpapers:</p>
<ul>
<li>Wallpapers are saved only in your device's local storage</li>
<li>We cannot access the wallpapers you download</li>
<li>Wallpapers are not uploaded to our servers</li>
<li>You can delete downloaded wallpapers at any time</li>
</ul>
<h2>3. Permission Explanations</h2>
<p>Required app permissions and their purposes:</p>
<ul>
<li><strong>Storage Permission</strong>: For saving downloaded wallpapers to your photo gallery</li>
<li><strong>Network Permission</strong>: For loading and displaying wallpaper resources</li>
</ul>
<h2>4. Third-Party Services</h2>
<p>We may use the following third-party services:</p>
<ul>
<li><strong>Analytics</strong>: For app usage statistics (anonymous data)</li>
<li><strong>Advertising Services</strong>: If the app contains ads, relevant advertisements may be displayed</li>
</ul>
<h2>5. Data Security</h2>
<p>We take reasonable security measures to protect your information.</p>
<h2>6. Children's Privacy</h2>
<p>Our services are not directed to children under 13, and we do not knowingly collect personal information from children.</p>
<h2>7. Contact Us</h2>
<p>If you have any questions about this Privacy Policy, please contact us:</p>
<p>Email: xxx@xxx.com</p>
<h2>8. Policy Changes</h2>
<p>We may update this Privacy Policy from time to time. The updated version will be posted on this page.</p>
</body>
</html>

View File

@ -24,15 +24,15 @@ import android.widget.Toast
import androidx.annotation.RequiresApi
import androidx.core.content.ContextCompat
import androidx.viewpager2.widget.ViewPager2
import com.ad.tradpluslibrary.TPAdManager
import com.ad.ironsourcelibrary.ActionListener
import com.ad.ironsourcelibrary.ISAdManager
import com.bumptech.glide.Glide
import com.bumptech.glide.request.target.CustomTarget
import com.bumptech.glide.request.transition.Transition
import com.gallery.free.wallpaper.database.FavorWpManager
import com.gallery.free.wallpaper.databinding.ActivityDetailwpBinding
import com.inmobi.media.ba
import com.inmobi.media.fa
import com.tradplus.ads.base.bean.TPAdInfo
import java.io.File
import java.io.FileOutputStream
import java.lang.ref.SoftReference
@ -90,11 +90,15 @@ class DetailwpActivity : BaseActivity(), Dialog_SetWp.OnWallpaperTypeSelectedLis
binding = ActivityDetailwpBinding.inflate(layoutInflater)
Utils_com.initFull(this, true)
setContentView(binding.root)
TPAdManager.showTPAD(this){
ISAdManager.loadAllAd()
ISAdManager.showIsAd(this@DetailwpActivity,object : ActionListener{
override fun onAction() {
}
})
Log.d(TAG, "=== onCreate ===")
// 获取屏幕尺寸
@ -313,13 +317,17 @@ class DetailwpActivity : BaseActivity(), Dialog_SetWp.OnWallpaperTypeSelectedLis
}
}
binding.buttonSave.setOnClickListener {
ISAdManager.showIsAd(this@DetailwpActivity,object : ActionListener{
override fun onAction() {
Log.d(TAG, "Save button clicked")
if (downloadState != DOWNLOAD_STATE_LOADING) {
downloadWallpaper()
}
TPAdManager.showTPAD(this){
}
})
}
binding.buttonPrev.setOnClickListener {
@ -552,8 +560,13 @@ class DetailwpActivity : BaseActivity(), Dialog_SetWp.OnWallpaperTypeSelectedLis
}
override fun onWallpaperTypeSelected(type: Int) {
ISAdManager.showIsAd(this@DetailwpActivity,object : ActionListener{
override fun onAction() {
setWallpaper(type)
}
})
}
private fun setWallpaper(type: Int) {
if (isSettingWallpaper) return
@ -997,10 +1010,12 @@ class DetailwpActivity : BaseActivity(), Dialog_SetWp.OnWallpaperTypeSelectedLis
}
protected override fun onInterceptBackPressed() {
TPAdManager.showTPAD(this){
ISAdManager.showIsAd(this@DetailwpActivity,object : ActionListener{
override fun onAction() {
}
})
if (backPressedCallback != null) {
backPressedCallback?.isEnabled = false
}

View File

@ -19,6 +19,8 @@ import android.view.WindowInsets
import android.view.WindowInsetsController
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import com.ad.ironsourcelibrary.ActionListener
import com.ad.ironsourcelibrary.ISAdManager
import com.bumptech.glide.Glide
import com.bumptech.glide.request.target.CustomTarget
import com.bumptech.glide.request.transition.Transition
@ -60,7 +62,7 @@ class LocalPreActivity : AppCompatActivity(),
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Utils_com.initFull(this, true)
ISAdManager.loadAllAd()
setTheme(R.style.TransparentPreviewTheme)
overridePendingTransition(0, 0)
@ -78,7 +80,12 @@ class LocalPreActivity : AppCompatActivity(),
handleBackButtonClick()
}
})
ISAdManager.showIsAd(this@LocalPreActivity,object : ActionListener{
override fun onAction() {
}
})
Log.d(TAG, "=== LocalImagePreviewActivity_onCreate ===")
Log.d(TAG, "Activity实例: ${this.hashCode()}")

View File

@ -9,6 +9,7 @@ import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleObserver
import androidx.lifecycle.OnLifecycleEvent
import androidx.lifecycle.ProcessLifecycleOwner
import com.ad.ironsourcelibrary.ISAdManager
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.request.RequestOptions
@ -76,6 +77,12 @@ class MyApplication : Application() {
validateFixedCategories()
UpLoadManager.init(this,"ocean", callback = { _, _ -> })
ISAdManager.init("-------WallpaperGallery--------",this,"24e146eb5","1x1dmfonwgx54zkn","3r21zexffllavwqj","4v2mbujbbk8wq7ed",false,{
}){
}
}
/**

View File

@ -5,7 +5,7 @@ import android.content.Intent
import android.os.Bundle
import android.os.CountDownTimer
import androidx.appcompat.app.AppCompatActivity
import com.ad.tradpluslibrary.TPAdManager
import com.ad.ironsourcelibrary.ISAdManager
import com.gallery.free.wallpaper.databinding.ActivitySplaBinding
class SplaActivity : AppCompatActivity() {
@ -19,17 +19,8 @@ class SplaActivity : AppCompatActivity() {
vb = ActivitySplaBinding.inflate(layoutInflater)
Utils_com.initFull(this, true)
setContentView(vb?.getRoot())
TPAdManager.init(
this,
"ocean",
"EF4D3DDD83B3D1EF16ED3E6995AF0E11",
"58E5429FFDD5BDF2034D6D78B157C012",
"8DB63FE93F30FEA99D2D275BFC974C12",
"09E55308FBBE7CD2C0C5571EFCEB8312"
) {
}
countDownTimer = TPAdManager.showWelcomeAd(this, totalTime, { millisUntilFinished ->
countDownTimer = ISAdManager.showWelcomeAd(this, totalTime, { millisUntilFinished ->
val progressPercentage = ((100 * millisUntilFinished) / totalTime).toInt()
val countdownPercentage = 100 - progressPercentage
@ -47,9 +38,7 @@ class SplaActivity : AppCompatActivity() {
override fun onDestroy() {
super.onDestroy()
if (countDownTimer != null) {
countDownTimer!!.cancel()
countDownTimer?.cancel()
countDownTimer = null
}
}
}

View File

@ -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. For more details, visit
# https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects

View File

@ -1,6 +1,6 @@
app_name=Wallpaper Gallery
package_name=com.gallery.free.wallpaper
keystoreFile=app/Wallpaper Gallery.jks
keystoreFile=Wallpaper Gallery
key_alias=WallpaperGallerykey0
key_store_password=lajiaoyouyou0312
key_password=lajiaoyouyou0312

View File

@ -17,24 +17,25 @@ dependencyResolutionManagement {
google()
mavenCentral()
flatDir {
dirs("libs")
}
maven("https://jitpack.io")
// Ironsource
maven("https://android-sdk.is.com/")
// Pangle
maven("https://artifact.bytedance.com/repository/pangle")
// Chartboost
maven("https://cboost.jfrog.io/artifactory/chartboost-ads/")
//------------------------- IronSource
maven {
name = "Chartboost Mediations maven repo"
url = uri("https://cboost.jfrog.io/artifactory/chartboost-mediation")
url = uri("https://android-sdk.is.com/")
}
maven {
url = uri("https://dl.bintray.com/ironsource-mobile/android-sdk")
}
maven {
url = uri("https://dl.bintray.com/ironsource-mobile/android-adapters")
}
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")
}
// 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("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea")
}
}