From 3ca7d9d15607860e4e46c5b0cdbe73a564344d15 Mon Sep 17 00:00:00 2001 From: zhouzhijia Date: Tue, 23 Jul 2024 18:28:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5Max=201.0.2(3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 24 ++++- app/google-services.json | 29 ++++++ app/minimalistwallpaper.jks | Bin 0 -> 2730 bytes app/minimalistwallpapertest.jks | Bin 0 -> 2770 bytes .../minimalistwallpaper/MinimalistWPSkin.java | 34 +++++++ .../activity/AllActivity.java | 44 ++++++++-- .../activity/PreViewActivity.java | 31 ++++++- .../activity/SplashActivity.java | 83 +++++++++++++++--- .../minimalistwallpaper/tools/Adcallback.java | 8 ++ .../minimalistwallpaper/tools/Mytools.java | 82 +++++++++++++++++ build.gradle.kts | 7 ++ settings.gradle.kts | 3 + 12 files changed, 322 insertions(+), 23 deletions(-) create mode 100644 app/google-services.json create mode 100644 app/minimalistwallpaper.jks create mode 100644 app/minimalistwallpapertest.jks create mode 100644 app/src/main/java/com/tool/minimalistwallpaper/tools/Adcallback.java diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 99cc7e1..8b95fa6 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -4,7 +4,16 @@ plugins { id("com.android.application") id("org.jetbrains.kotlin.android") id ("kotlin-kapt") + id("com.google.gms.google-services") + id("com.google.firebase.crashlytics") + id("applovin-quality-service") } + +applovin { + apiKey = + "Dl27vTcbmSn21PBrDMXpSqmsfG9shMGyquWAiaWdAbSq3wFKDu3lz_TXSAt_JsOVCRChddpPl2dZrymN3OooUM" +} + val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date()) android { namespace = "com.tool.minimalistwallpaper" @@ -14,8 +23,8 @@ android { applicationId = "com.tool.minimalistwallpaper" minSdk = 23 targetSdk = 34 - versionCode = 2 - versionName = "1.0.1" + versionCode = 3 + versionName = "1.0.2" setProperty("archivesBaseName", "minimalistwallpaper_v" + versionName + "(${versionCode})_$timestamp") testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } @@ -62,4 +71,15 @@ dependencies { implementation ("io.github.youth5201314:banner:2.2.3") implementation ("com.guolindev.permissionx:permissionx:1.7.1") + + + implementation(platform("com.google.firebase:firebase-bom:33.1.1")) + implementation("com.google.firebase:firebase-crashlytics") + implementation("com.google.firebase:firebase-analytics") + + implementation("com.applovin:applovin-sdk:+") + implementation("com.applovin.mediation:vungle-adapter:+") + implementation("com.applovin.mediation:mintegral-adapter:+") + implementation("com.applovin.mediation:bytedance-adapter:+") + implementation("com.applovin.mediation:unityads-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..81428c2 --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "997989376042", + "project_id": "minimalist-wallpaper---hd-4k", + "storage_bucket": "minimalist-wallpaper---hd-4k.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:997989376042:android:db641b5edc2fab4b9fe353", + "android_client_info": { + "package_name": "com.tool.minimalistwallpaper" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyAt85EFrCwMqX5X_JZ843PnnmcF-4tJj6c" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/app/minimalistwallpaper.jks b/app/minimalistwallpaper.jks new file mode 100644 index 0000000000000000000000000000000000000000..4656fac255d29d43a1d09274b80fafafd2b47683 GIT binary patch literal 2730 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 AiU0rr literal 0 HcmV?d00001 diff --git a/app/minimalistwallpapertest.jks b/app/minimalistwallpapertest.jks new file mode 100644 index 0000000000000000000000000000000000000000..f5e7fd89358fd667990ecb0ae47bbd27bd732a2b GIT binary patch literal 2770 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 literal 0 HcmV?d00001 diff --git a/app/src/main/java/com/tool/minimalistwallpaper/MinimalistWPSkin.java b/app/src/main/java/com/tool/minimalistwallpaper/MinimalistWPSkin.java index cca3d3c..8434abd 100644 --- a/app/src/main/java/com/tool/minimalistwallpaper/MinimalistWPSkin.java +++ b/app/src/main/java/com/tool/minimalistwallpaper/MinimalistWPSkin.java @@ -2,9 +2,17 @@ package com.tool.minimalistwallpaper; import android.app.Application; import android.content.Context; +import android.content.Intent; import android.content.SharedPreferences; +import android.util.Log; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; + +import com.applovin.sdk.AppLovinMediationProvider; +import com.applovin.sdk.AppLovinSdk; +import com.applovin.sdk.AppLovinSdkConfiguration; +import com.applovin.sdk.AppLovinSdkInitializationConfiguration; import com.tool.minimalistwallpaper.data.Mydata; import com.tool.minimalistwallpaper.data.MydataBase; import com.tool.minimalistwallpaper.data.Otherdata; @@ -24,10 +32,17 @@ public class MinimalistWPSkin extends Application { private static boolean isinsert; private static final String PREFS_NAME = "MyPrefs"; private static final String KEY_IS_INSERTED = "isinserted"; + public static final String AD_BROADCAST = "on_success_action"; + private static final String MAX_SDK = "NprBImK6BeQcxVNp44x4_ikQeJmyfGD8OEHbpNDUu7_WudCrCm_TIKr807Zzd8rfb6TG5NITCTxbZHZT9PbAGa"; + public static Boolean initSDK = false; @Override public void onCreate() { super.onCreate(); + app =this; + + initSDk(); + context = getApplicationContext(); List myData = Mytools.parseJsonToList("wallpaper.json"); @@ -47,6 +62,25 @@ public class MinimalistWPSkin extends Application { }); } } + + + private void initSDk() { + + AppLovinSdkInitializationConfiguration initConfig = AppLovinSdkInitializationConfiguration.builder(MAX_SDK, this) + .setMediationProvider(AppLovinMediationProvider.MAX) + .build(); + AppLovinSdk.getInstance(this).initialize(initConfig, new AppLovinSdk.SdkInitializationListener() { + @Override + public void onSdkInitialized(final AppLovinSdkConfiguration sdkConfig) { + initSDK = true; + Log.e("zzj", "------------initSDk--------success"); + LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent(AD_BROADCAST)); + } + }); + AppLovinSdk.getInstance(this).getSettings().setVerboseLogging(true); + } + + public static Context getAppContext() { return context; } diff --git a/app/src/main/java/com/tool/minimalistwallpaper/activity/AllActivity.java b/app/src/main/java/com/tool/minimalistwallpaper/activity/AllActivity.java index 041f7b5..dbc2e57 100644 --- a/app/src/main/java/com/tool/minimalistwallpaper/activity/AllActivity.java +++ b/app/src/main/java/com/tool/minimalistwallpaper/activity/AllActivity.java @@ -13,11 +13,14 @@ import android.os.Bundle; import android.util.Log; import android.view.View; +import com.applovin.mediation.MaxAd; +import com.applovin.mediation.ads.MaxInterstitialAd; import com.tool.minimalistwallpaper.R; import com.tool.minimalistwallpaper.adapter.MainRvAdapter; import com.tool.minimalistwallpaper.data.MydataBase; import com.tool.minimalistwallpaper.data.Otherdata; import com.tool.minimalistwallpaper.databinding.ActivityAllBinding; +import com.tool.minimalistwallpaper.tools.Adcallback; import com.tool.minimalistwallpaper.tools.Mytools; import com.tool.minimalistwallpaper.tools.SpaceItem; import com.tool.minimalistwallpaper.tools.StaticValue; @@ -31,6 +34,8 @@ public class AllActivity extends AppCompatActivity { private MainRvAdapter mainRvListAdapter; private String name; private SpaceItem spaceItem = new SpaceItem(12, 12, 12); + private static List adsList; + @SuppressLint("MissingInflatedId") @Override protected void onCreate(Bundle savedInstanceState) { @@ -45,6 +50,7 @@ public class AllActivity extends AppCompatActivity { return insets; }); + adsList = Mytools.getAllAd(); Intent intent = getIntent(); name = intent.getStringExtra(StaticValue.KEY_name); @@ -54,22 +60,43 @@ public class AllActivity extends AppCompatActivity { binding.allBack.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - finish(); + showAd(); } }); } + + private void showAd() { + MaxInterstitialAd cachedAd = Mytools.onCache(adsList); + if (cachedAd == null) { + finish(); + } else { + Mytools.setCallBcak(cachedAd, new Adcallback() { + @Override + public void onShowFail(MaxAd ad) { + finish(); + } + + @Override + public void onAdHidden() { + finish(); + } + }); + cachedAd.showAd(this); + } + } + private void initData() { Mytools.runIO(new Runnable() { @Override public void run() { List existingData = MydataBase.getInstance().myDAO().getallwp(name); - if (!existingData.isEmpty()){ - otherdata = existingData; + if (!existingData.isEmpty()) { + otherdata = existingData; runOnUiThread(new Runnable() { @Override public void run() { - mainRvListAdapter = new MainRvAdapter(AllActivity.this,otherdata); + mainRvListAdapter = new MainRvAdapter(AllActivity.this, otherdata); binding.allRv.setLayoutManager(new GridLayoutManager(AllActivity.this, 2)); binding.allRv.setAdapter(mainRvListAdapter); } @@ -83,10 +110,15 @@ public class AllActivity extends AppCompatActivity { @Override protected void onResume() { super.onResume(); -// Log.e("zzj", " allactivity onResume " + PreViewActivity.KEY_Change); - if (PreViewActivity.KEY_Change){ + if (PreViewActivity.KEY_Change) { initData(); PreViewActivity.KEY_Change = false; } } + + @Override + public void onBackPressed() { + super.onBackPressed(); + showAd(); + } } \ No newline at end of file diff --git a/app/src/main/java/com/tool/minimalistwallpaper/activity/PreViewActivity.java b/app/src/main/java/com/tool/minimalistwallpaper/activity/PreViewActivity.java index d2c8100..5dfac3b 100644 --- a/app/src/main/java/com/tool/minimalistwallpaper/activity/PreViewActivity.java +++ b/app/src/main/java/com/tool/minimalistwallpaper/activity/PreViewActivity.java @@ -34,6 +34,8 @@ import android.view.View; import android.widget.ProgressBar; import android.widget.Toast; +import com.applovin.mediation.MaxAd; +import com.applovin.mediation.ads.MaxInterstitialAd; import com.bumptech.glide.Glide; import com.bumptech.glide.request.target.CustomTarget; import com.bumptech.glide.request.transition.Transition; @@ -42,6 +44,7 @@ import com.tool.minimalistwallpaper.R; import com.tool.minimalistwallpaper.data.MydataBase; import com.tool.minimalistwallpaper.data.Otherdata; import com.tool.minimalistwallpaper.databinding.ActivityPreViewBinding; +import com.tool.minimalistwallpaper.tools.Adcallback; import com.tool.minimalistwallpaper.tools.Mytools; import com.tool.minimalistwallpaper.tools.StaticValue; import com.tool.minimalistwallpaper.tools.Utils; @@ -70,7 +73,7 @@ public class PreViewActivity extends AppCompatActivity { private GestureDetector gestureDetector; public static boolean KEY_Change = false; private Otherdata checkdata = new Otherdata(); - + private static List adsList; @SuppressLint("MissingInflatedId") @Override @@ -86,6 +89,8 @@ public class PreViewActivity extends AppCompatActivity { return insets; }); + adsList = Mytools.getAllAd(); + initData(); initEvent(); @@ -142,7 +147,8 @@ public class PreViewActivity extends AppCompatActivity { binding.pgSetwallpaper.setVisibility(View.GONE); Toast.makeText(PreViewActivity.this, getString(R.string.permission_tips), Toast.LENGTH_SHORT).show(); } else { - setWp(setmap); + + showAd(); } }); } @@ -439,6 +445,27 @@ public class PreViewActivity extends AppCompatActivity { // unregisterReceiver(wallpaperChangedReceiver); } + private void showAd() { + MaxInterstitialAd cachedAd = Mytools.onCache(adsList); + + if (cachedAd == null) { + setWp(setmap); + } else { + Mytools.setCallBcak(cachedAd, new Adcallback() { + @Override + public void onShowFail(MaxAd ad) { + setWp(setmap); + } + + @Override + public void onAdHidden() { + setWp(setmap); + } + }); + cachedAd.showAd(this); + } + } + @Override protected void onStop() { diff --git a/app/src/main/java/com/tool/minimalistwallpaper/activity/SplashActivity.java b/app/src/main/java/com/tool/minimalistwallpaper/activity/SplashActivity.java index 0e88347..e9820c4 100644 --- a/app/src/main/java/com/tool/minimalistwallpaper/activity/SplashActivity.java +++ b/app/src/main/java/com/tool/minimalistwallpaper/activity/SplashActivity.java @@ -5,18 +5,32 @@ import androidx.appcompat.app.AppCompatActivity; import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; import android.annotation.SuppressLint; +import android.content.BroadcastReceiver; +import android.content.Context; import android.content.Intent; +import android.content.IntentFilter; import android.os.Bundle; import android.os.CountDownTimer; import android.os.Handler; +import android.util.Log; +import com.applovin.mediation.MaxAd; +import com.applovin.mediation.ads.MaxInterstitialAd; +import com.applovin.sdk.AppLovinSdk; +import com.tool.minimalistwallpaper.MinimalistWPSkin; import com.tool.minimalistwallpaper.R; +import com.tool.minimalistwallpaper.tools.Adcallback; +import com.tool.minimalistwallpaper.tools.Mytools; + +import java.util.List; public class SplashActivity extends AppCompatActivity { private CountDownTimer countDownTimer; - + private static List adsList; + public static boolean isAlreadyShow = false; @SuppressLint("MissingInflatedId") @Override protected void onCreate(Bundle savedInstanceState) { @@ -30,28 +44,71 @@ public class SplashActivity extends AppCompatActivity { return insets; }); - countDownTimer = new CountDownTimer(1000, 100) { + countDownTimer = new CountDownTimer(11000, 100) { @Override public void onTick(long millisUntilFinished) { - - new Handler().postDelayed(new Runnable() { - @Override - public void run() { - - - } - },2000); - + if (!isAlreadyShow) { + showAdOrStartView(false); + } } @Override public void onFinish() { - satrView(); + if (!isAlreadyShow) { + showAdOrStartView(true); + } } }; - countDownTimer.start(); + registerBroadcastReceiver(); + } + private void showAdOrStartView(boolean go) { + MaxInterstitialAd cachedAd = Mytools.onCache(adsList); + if (cachedAd == null) { + isAlreadyShow = false; + if (go) { + satrView(); + } + } else { + isAlreadyShow = true; + Mytools.setCallBcak(cachedAd, new Adcallback() { + @Override + public void onShowFail(MaxAd ad) { + isAlreadyShow = false; + + } + + @Override + public void onAdHidden() { + isAlreadyShow = true; + satrView(); + } + }); + cachedAd.showAd(); + } } + private void registerBroadcastReceiver() { + if (!MinimalistWPSkin.initSDK) { + BroadcastReceiver receiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { +// AppLovinSdk.getInstance( SplashActivity.this ).showMediationDebugger(); + Log.e("zzj", "------------loadAndStartAd--------success"); + loadAndStartAd(); + } + }; + + LocalBroadcastManager.getInstance(this).registerReceiver(receiver, new IntentFilter(MinimalistWPSkin.AD_BROADCAST)); + } else { + Log.e("zzj", "------------loadAndStartAd--------fail"); + loadAndStartAd(); + } + } + + private void loadAndStartAd() { + adsList = Mytools.getAllAd(); + countDownTimer.start(); + } private void satrView() { Intent intent = new Intent(SplashActivity.this, MainActivity.class); startActivity(intent); diff --git a/app/src/main/java/com/tool/minimalistwallpaper/tools/Adcallback.java b/app/src/main/java/com/tool/minimalistwallpaper/tools/Adcallback.java new file mode 100644 index 0000000..4be4049 --- /dev/null +++ b/app/src/main/java/com/tool/minimalistwallpaper/tools/Adcallback.java @@ -0,0 +1,8 @@ +package com.tool.minimalistwallpaper.tools; + +import com.applovin.mediation.MaxAd; + +public interface Adcallback { + void onShowFail(MaxAd ad); + void onAdHidden( ); +} diff --git a/app/src/main/java/com/tool/minimalistwallpaper/tools/Mytools.java b/app/src/main/java/com/tool/minimalistwallpaper/tools/Mytools.java index e262b68..92a3a53 100644 --- a/app/src/main/java/com/tool/minimalistwallpaper/tools/Mytools.java +++ b/app/src/main/java/com/tool/minimalistwallpaper/tools/Mytools.java @@ -1,8 +1,16 @@ package com.tool.minimalistwallpaper.tools; +import android.content.Context; import android.content.res.AssetManager; +import android.util.Log; +import androidx.annotation.NonNull; + +import com.applovin.mediation.MaxAd; +import com.applovin.mediation.MaxAdListener; +import com.applovin.mediation.MaxError; +import com.applovin.mediation.ads.MaxInterstitialAd; import com.tool.minimalistwallpaper.MinimalistWPSkin; import com.tool.minimalistwallpaper.data.Mydata; import com.tool.minimalistwallpaper.data.Otherdata; @@ -15,6 +23,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -22,6 +31,79 @@ import java.util.concurrent.Executors; public class Mytools { private static ExecutorService executorService; + + private static ArrayList adArrayList; + private static final String one_AD = "2377d38d18e72a02"; + private static final String two_Ad = "cebc382a642385a6"; + private static final String three_ad = "f4f1f8de8666c541"; + + public static void setCallBcak(MaxInterstitialAd ad, Adcallback adcallback) { + ad.setListener(new MaxAdListener() { + @Override + public void onAdLoaded(@NonNull MaxAd maxAd) { + + } + + @Override + public void onAdDisplayed(@NonNull MaxAd maxAd) { + + } + + @Override + public void onAdHidden(@NonNull MaxAd maxAd) { + adcallback.onAdHidden(); + + } + + @Override + public void onAdClicked(@NonNull MaxAd maxAd) { + + } + + @Override + public void onAdLoadFailed(@NonNull String s, @NonNull MaxError maxError) { + Log.e("zzj","-----------onAdLoadFailed------"+maxError); + } + + @Override + public void onAdDisplayFailed(@NonNull MaxAd maxAd, @NonNull MaxError maxError) { + adcallback.onShowFail(maxAd); + Log.e("zzj","-----------onAdDisplayFailed------"+maxError); + } + }); + } + + public static MaxInterstitialAd onCache(List list) { + Collections.shuffle(list); + for (MaxInterstitialAd ad : list) { + if (ad.isReady()) { + return ad; + } + } + return null; + } + + public static List getAllAd() { + if (adArrayList == null) { + adArrayList = new ArrayList<>(); + adArrayList.add(createAd(one_AD, MinimalistWPSkin.app)); + adArrayList.add(createAd(two_Ad, MinimalistWPSkin.app)); + adArrayList.add(createAd(three_ad, MinimalistWPSkin.app)); + } + for (MaxInterstitialAd ad : adArrayList) { + if (!ad.isReady()) { + ad.loadAd(); + } + } + return adArrayList; + } + + private static MaxInterstitialAd createAd(String adUnitId, Context context) { + MaxInterstitialAd ad = new MaxInterstitialAd(adUnitId, context); + return ad; + } + + public static void runIO(Runnable task) { getExecutorService().execute(task); } diff --git a/build.gradle.kts b/build.gradle.kts index 1bc1d16..b9ea2a2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,4 +2,11 @@ plugins { id("com.android.application") version "8.1.3" apply false id("org.jetbrains.kotlin.android") version "1.9.0" apply false + id("com.google.gms.google-services") version "4.3.15" apply false + id ("com.google.firebase.crashlytics") version "2.9.2" apply false +} +buildscript{ + dependencies{ + classpath("com.applovin.quality:AppLovinQualityServiceGradlePlugin:+") + } } \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index a598fef..9e07445 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -3,6 +3,7 @@ pluginManagement { google() mavenCentral() gradlePluginPortal() + maven { url = uri("https://artifacts.applovin.com/android") } } } dependencyResolutionManagement { @@ -10,6 +11,8 @@ dependencyResolutionManagement { repositories { google() mavenCentral() + maven { url = uri("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea") } + maven { url = uri("https://artifact.bytedance.com/repository/pangle") } } }