刷新数据

This commit is contained in:
juncong lee 2025-09-01 21:28:17 +08:00
parent de243ca1cc
commit 3d4d79b52f
10 changed files with 31 additions and 68 deletions

View File

@ -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");
});

View File

@ -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());
});

View File

@ -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());

View File

@ -28,7 +28,7 @@ namespace WZ
if (state == AppState.Foreground)
{
LoggerUtils.Debug("[AppOpen] 进入前台");
CheckSplashAdlash(false);
StartCoroutine(DelayedAction());
}
else if (state == AppState.Background)
{

View File

@ -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);
});

View File

@ -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);
});

View File

@ -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);
}

View File

@ -7,29 +7,23 @@ using Newtonsoft.Json;
using UnityEngine;
using WZ;
public class AppSDKManager : MonoBehaviour
public class AppSDKManager : D_MonoSingleton<AppSDKManager>
{
public static AppSDKManager Instance;
//包名
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);
}
/// <summary>
/// 协程

View File

@ -18,6 +18,10 @@ namespace WZ
{
FirebaseRemoteConfig.DefaultInstance.ActivateAsync().ContinueWithOnMainThread(task =>
{
// 获取广告位信息
AdConfigParser.Parse(GetRemoteConfigString("ad_config"));
// 刷新广告位信息
AdsSDKManager.Instance.RefreshAdsData();
// adjust卸载监控
/* 执行到这时表示firebase接入正常能获取到远端在线参数 */

View File

@ -5,61 +5,18 @@ using UnityEngine;
namespace WZ
{
public class TimerUtils : MonoBehaviour
public class TimerUtils :D_MonoSingleton<TimerUtils>
{
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<TimerUtils>();
StartCoroutine(DelayExecuteCoroutine(delay, action));
}
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;
}
}
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;
}
}
}
}