From bc8ce72b8a01bd7db3cf81ae44e1e7fea5b1e44f Mon Sep 17 00:00:00 2001 From: AtikulSoftware Date: Sun, 30 Jun 2024 11:32:15 +0600 Subject: [PATCH] 1. Bug Fixed --- .../bdtopcoder/smartadmob/OpenAdManager.java | 102 ++++++++++-------- .../smartadmob/SplashOpenAdCallBack.java | 6 +- .../bdtopcoder/smartadmob/SplashScreen.java | 2 +- 3 files changed, 63 insertions(+), 47 deletions(-) diff --git a/SmartAdmob/src/main/java/com/bdtopcoder/smartadmob/OpenAdManager.java b/SmartAdmob/src/main/java/com/bdtopcoder/smartadmob/OpenAdManager.java index a4199ca..c724da7 100644 --- a/SmartAdmob/src/main/java/com/bdtopcoder/smartadmob/OpenAdManager.java +++ b/SmartAdmob/src/main/java/com/bdtopcoder/smartadmob/OpenAdManager.java @@ -72,7 +72,9 @@ public void onActivityDestroyed(@NonNull Activity activity) { } public void loadAd(@NonNull Activity activity) { - appOpenAdManager.loadAd(activity); + if (AdmobAdUnit.ADMOB_AD_IS_ON) { + appOpenAdManager.loadAd(activity); + } } public void showAdIfAvailable( @@ -91,7 +93,6 @@ private class AppOpenAdManager { GoogleMobileAdsConsentManager googleMobileAdsConsentManager = GoogleMobileAdsConsentManager.getInstance(getApplicationContext()); - // AppOpenAd appOpenAd = null; boolean isLoadingAd = false; boolean isShowingAd = false; @@ -128,6 +129,7 @@ public void onAdFailedToLoad(LoadAdError loadAdError) { // Log.d(LOG_TAG, "onAdFailedToLoad: " + loadAdError.getMessage()); } }); + } private boolean wasLoadTimeLessThanNHoursAgo(long numHours) { @@ -154,56 +156,70 @@ public void onShowAdComplete() { private void showAdIfAvailable( @NonNull final Activity activity, @NonNull OnShowAdCompleteListener onShowAdCompleteListener) { - if (isShowingAd) { - // Log.d(LOG_TAG, "The app open ad is already showing."); - return; - } - if (!isAdAvailable()) { - // Log.d(LOG_TAG, "The app open ad is not ready yet."); - onShowAdCompleteListener.onShowAdComplete(); - if (googleMobileAdsConsentManager.canRequestAds()) { - loadAd(currentActivity); + if (AdmobAdUnit.ADMOB_AD_IS_ON) { + if (isShowingAd) { + // Log.d(LOG_TAG, "The app open ad is already showing."); + return; } - return; - } - Log.d(LOG_TAG, "Will show ad."); + if (!isAdAvailable()) { + // Log.d(LOG_TAG, "The app open ad is not ready yet."); + onShowAdCompleteListener.onShowAdComplete(); + if (googleMobileAdsConsentManager.canRequestAds()) { + if (AdmobAdUnit.ADMOB_AD_IS_ON) { + loadAd(currentActivity); + } - AdmobAdUnit.openAd.setFullScreenContentCallback( - new FullScreenContentCallback() { - @Override - public void onAdDismissedFullScreenContent() { - AdmobAdUnit.openAd = null; - isShowingAd = false; - // Log.d(LOG_TAG, "onAdDismissedFullScreenContent."); - - onShowAdCompleteListener.onShowAdComplete(); - if (googleMobileAdsConsentManager.canRequestAds()) { - loadAd(activity); + } + return; + } + + Log.d(LOG_TAG, "Will show ad."); + + AdmobAdUnit.openAd.setFullScreenContentCallback( + new FullScreenContentCallback() { + @Override + public void onAdDismissedFullScreenContent() { + AdmobAdUnit.openAd = null; + isShowingAd = false; + // Log.d(LOG_TAG, "onAdDismissedFullScreenContent."); + + onShowAdCompleteListener.onShowAdComplete(); + if (googleMobileAdsConsentManager.canRequestAds()) { + if (AdmobAdUnit.ADMOB_AD_IS_ON) { + loadAd(activity); + } + + } } - } - @Override - public void onAdFailedToShowFullScreenContent(AdError adError) { - AdmobAdUnit.openAd = null; - isShowingAd = false; - // Log.d(LOG_TAG, "onAdFailedToShowFullScreenContent: " + adError.getMessage()); - - onShowAdCompleteListener.onShowAdComplete(); - if (googleMobileAdsConsentManager.canRequestAds()) { - loadAd(activity); + @Override + public void onAdFailedToShowFullScreenContent(AdError adError) { + AdmobAdUnit.openAd = null; + isShowingAd = false; + // Log.d(LOG_TAG, "onAdFailedToShowFullScreenContent: " + adError.getMessage()); + + onShowAdCompleteListener.onShowAdComplete(); + if (googleMobileAdsConsentManager.canRequestAds()) { + if (AdmobAdUnit.ADMOB_AD_IS_ON) { + loadAd(activity); + } + + } } - } - @Override - public void onAdShowedFullScreenContent() { - // Log.d(LOG_TAG, "onAdShowedFullScreenContent."); - } - }); + @Override + public void onAdShowedFullScreenContent() { + // Log.d(LOG_TAG, "onAdShowedFullScreenContent."); + } + }); - isShowingAd = true; - AdmobAdUnit.openAd.show(activity); + isShowingAd = true; + AdmobAdUnit.openAd.show(activity); + } else { + onShowAdCompleteListener.onShowAdComplete(); + } } } // AppOpenAdManager end here ======= diff --git a/SmartAdmob/src/main/java/com/bdtopcoder/smartadmob/SplashOpenAdCallBack.java b/SmartAdmob/src/main/java/com/bdtopcoder/smartadmob/SplashOpenAdCallBack.java index 36ef45b..cf08690 100644 --- a/SmartAdmob/src/main/java/com/bdtopcoder/smartadmob/SplashOpenAdCallBack.java +++ b/SmartAdmob/src/main/java/com/bdtopcoder/smartadmob/SplashOpenAdCallBack.java @@ -1,9 +1,9 @@ package com.bdtopcoder.smartadmob; public interface SplashOpenAdCallBack { - void loadingTimer(long time); + default void loadingTimer(long time){} - void loadingDone(boolean isDone); + default void loadingDone(boolean isDone){} - void startYourActivity(); + default void startYourActivity(){} } diff --git a/app/src/main/java/com/bdtopcoder/smartadmob/SplashScreen.java b/app/src/main/java/com/bdtopcoder/smartadmob/SplashScreen.java index 8738a3c..8dcb312 100644 --- a/app/src/main/java/com/bdtopcoder/smartadmob/SplashScreen.java +++ b/app/src/main/java/com/bdtopcoder/smartadmob/SplashScreen.java @@ -20,6 +20,7 @@ protected void onCreate(Bundle savedInstanceState) { tvTime = findViewById(R.id.tvTime); + AdmobAdUnit.ADMOB_AD_IS_ON = true; AdmobAdUnit.ADMOB_OPEN_AD = "ca-app-pub-3940256099942544/9257395921"; splashManager = new SplashManager(SplashScreen.this, new SplashOpenAdCallBack() { @Override @@ -44,5 +45,4 @@ public void startYourActivity() { } // OnCreate method end here ======== - } // public class end here =============== \ No newline at end of file