From 3d4d79b52fb5e2ac9d026801e6d4ef39b4033092 Mon Sep 17 00:00:00 2001 From: juncong lee Date: Mon, 1 Sep 2025 21:28:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=B7=E6=96=B0=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdmobAdsManager/AdmobAdsManager.cs | 2 +- .../AdmobAdsManager/AdmobBannerAdManager.cs | 2 +- .../SDKManager/AdsSDKManager/AdsSDKManager.cs | 8 +++ .../AdsSDKManager/AdsSplashManager.cs | 2 +- .../BigoInterstitialAdManager.cs | 2 +- .../BigoAdsManager/BigoRewardedAdManager.cs | 2 +- .../MaxAdsManager/MaxAdsManager.cs | 4 +- Assets/Script/SDKManager/AppSDKManager.cs | 22 +++----- .../FireBaseRemoteConfigManager.cs | 4 ++ Assets/Script/Utils/TimerUtils.cs | 51 ++----------------- 10 files changed, 31 insertions(+), 68 deletions(-) diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs index 933d2d1..4fceed1 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs @@ -44,7 +44,7 @@ namespace WZ if (_bannerAdUnits.Count > 0) LoadBanner(); if (_interstitialAdUnits.Count > 0) LoadInterstitial(); if (_rewardedAdUnits.Count > 0) LoadRewarded(); - AdsSplashManager.Instance.InitSplash(); + if(_splashAdUnits.Count > 0) AdsSplashManager.Instance.InitSplash(); _initialized = true; LoggerUtils.Debug("[Admob] init success"); }); diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobBannerAdManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobBannerAdManager.cs index faccde0..9b5b265 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobBannerAdManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobBannerAdManager.cs @@ -58,7 +58,7 @@ namespace WZ // 延迟重试加载 _loadCallbacks[adUnitId] = () => LoadAd(adUnitId); - TimerUtils.DelayExecute((float)retryDelay, () => _loadCallbacks[adUnitId]?.Invoke()); + TimerUtils.Instance.DelayExecute((float)retryDelay, () => _loadCallbacks[adUnitId]?.Invoke()); onAdLoadFailed?.Invoke(adUnitId, msg.GetCode(), msg.GetMessage()); }); diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs index cea5386..43d1b75 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs @@ -46,6 +46,14 @@ namespace WZ } } + public void RefreshAdsData() + { + foreach (var network in _adNetworks) + { + network.RefreshAdsData(); + } + } + public bool IsRewardAdReady() { return _adNetworks.Any(network => network.IsRewardedAvailable()); diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdsSplashManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdsSplashManager.cs index cbe50b8..72a211c 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdsSplashManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdsSplashManager.cs @@ -28,7 +28,7 @@ namespace WZ if (state == AppState.Foreground) { LoggerUtils.Debug("[AppOpen] 进入前台"); - CheckSplashAdlash(false); + StartCoroutine(DelayedAction()); } else if (state == AppState.Background) { diff --git a/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoInterstitialAdManager.cs b/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoInterstitialAdManager.cs index 7f81ab5..ad6afed 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoInterstitialAdManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoInterstitialAdManager.cs @@ -62,7 +62,7 @@ namespace WZ // 延迟重试加载 _loadCallbacks[adUnitId] = () => LoadAd(adUnitId); - TimerUtils.DelayExecute((float)retryDelay, () => _loadCallbacks[adUnitId]?.Invoke()); + TimerUtils.Instance.DelayExecute((float)retryDelay, () => _loadCallbacks[adUnitId]?.Invoke()); onAdLoadFailed?.Invoke(adUnitId, code, msg); }); diff --git a/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoRewardedAdManager.cs b/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoRewardedAdManager.cs index 9a5c558..6039762 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoRewardedAdManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoRewardedAdManager.cs @@ -62,7 +62,7 @@ namespace WZ // 延迟重试加载 _loadCallbacks[adUnitId] = () => LoadAd(adUnitId); - TimerUtils.DelayExecute((float)retryDelay, () => _loadCallbacks[adUnitId]?.Invoke()); + TimerUtils.Instance.DelayExecute((float)retryDelay, () => _loadCallbacks[adUnitId]?.Invoke()); onAdLoadFailed?.Invoke(adUnitId, code, msg); }); diff --git a/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs index b331e91..5aa587a 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs @@ -122,7 +122,7 @@ namespace WZ LoggerUtils.Debug("[Max] OnRewardedAdLoadFailedEvent errorInfo" + errorInfo.Message); _rewardRetryAttempt++; double retryDelay = Math.Pow(2, Math.Min(6, _rewardRetryAttempt)); - TimerUtils.DelayExecute((float)retryDelay, LoadRewarded); + TimerUtils.Instance.DelayExecute((float)retryDelay, LoadRewarded); AdsActionEvents.TrackAdFailToLoad(Platfrom, "","",AdsType.Rewarded,Time.realtimeSinceStartup - _rvStartLoadTime,errorInfo.Message); } @@ -219,7 +219,7 @@ namespace WZ LoggerUtils.Debug("[Max] OnInterstitialLoadFailedEvent :" + errorInfo); _interRetryAttempt++; double retryDelay = Math.Pow(2, Math.Min(6, _interRetryAttempt)); - TimerUtils.DelayExecute((float)retryDelay, LoadInterstitial); + TimerUtils.Instance.DelayExecute((float)retryDelay, LoadInterstitial); AdsActionEvents.TrackAdFailToLoad(Platfrom, "","",AdsType.Interstitial,Time.realtimeSinceStartup - _ivStartLoadTime,errorInfo.Message); } diff --git a/Assets/Script/SDKManager/AppSDKManager.cs b/Assets/Script/SDKManager/AppSDKManager.cs index fa36d0a..ca62cad 100644 --- a/Assets/Script/SDKManager/AppSDKManager.cs +++ b/Assets/Script/SDKManager/AppSDKManager.cs @@ -7,28 +7,22 @@ using Newtonsoft.Json; using UnityEngine; using WZ; -public class AppSDKManager : MonoBehaviour -{ - public static AppSDKManager Instance; - +public class AppSDKManager : D_MonoSingleton +{ //包名 public const string PackageName = "com.rush.cash.earn.fast.real.money.game"; - - private void Awake() + public void Init(Action action) { - Instance = this; - + FileParse.Parse(); + // AdConfigParser.Parse(); + AdmobAdsManager.Instance.RefreshAdsData(); + AdmobAdsManager.Instance.Initialize(); FireBaseSDKManager.Instance.Init(); AdjustManager.Instance.Init(); ShuShuMangage.Instance.Init(); - + AdsSDKManager.Instance.InitSDK(null); EFSdkManager.Instance.Init(); } - - public void Init(Action action) - { - AdsSDKManager.Instance.InitSDK(action); - } /// diff --git a/Assets/Script/SDKManager/FirebaseManager/FireBaseRemoteConfigManager.cs b/Assets/Script/SDKManager/FirebaseManager/FireBaseRemoteConfigManager.cs index 2208a33..6d90a39 100644 --- a/Assets/Script/SDKManager/FirebaseManager/FireBaseRemoteConfigManager.cs +++ b/Assets/Script/SDKManager/FirebaseManager/FireBaseRemoteConfigManager.cs @@ -18,6 +18,10 @@ namespace WZ { FirebaseRemoteConfig.DefaultInstance.ActivateAsync().ContinueWithOnMainThread(task => { + // 获取广告位信息 + AdConfigParser.Parse(GetRemoteConfigString("ad_config")); + // 刷新广告位信息 + AdsSDKManager.Instance.RefreshAdsData(); // adjust卸载监控 /* 执行到这时,表示firebase接入正常,能获取到远端在线参数 */ diff --git a/Assets/Script/Utils/TimerUtils.cs b/Assets/Script/Utils/TimerUtils.cs index 49ee250..8031318 100644 --- a/Assets/Script/Utils/TimerUtils.cs +++ b/Assets/Script/Utils/TimerUtils.cs @@ -5,61 +5,18 @@ using UnityEngine; namespace WZ { - public class TimerUtils : MonoBehaviour + public class TimerUtils :D_MonoSingleton { - private static TimerUtils _instance; - - public static void Initialize() + public void DelayExecute(float delay, System.Action action) { - if (_instance != null) return; - GameObject timerObject = new GameObject("TimerUtils"); - timerObject.hideFlags = HideFlags.HideInHierarchy; - DontDestroyOnLoad(timerObject); - _instance = timerObject.AddComponent(); - } - - public static void DelayExecute(float delay, System.Action action) - { - if (_instance == null) - { - Debug.LogWarning("TimerUtils not initialized. Call TimerUtils.Initialize() first."); - return; - } - - _instance.StartCoroutine(DelayExecuteCoroutine(delay, action)); - } - - public static void StopAllDelayedActions() - { - if (_instance != null) - { - _instance.StopAllCoroutines(); - } - } - - public static void Dispose() - { - if (_instance != null) - { - Destroy(_instance.gameObject); - _instance = null; - } + StartCoroutine(DelayExecuteCoroutine(delay, action)); } - private static IEnumerator DelayExecuteCoroutine(float delay, System.Action action) + private IEnumerator DelayExecuteCoroutine(float delay, System.Action action) { yield return new WaitForSeconds(delay); action?.Invoke(); } - - void OnDestroy() - { - // 清理静态引用,防止内存泄漏 - if (_instance == this) - { - _instance = null; - } - } } }