release: 1.0.12

This commit is contained in:
2026-04-22 17:41:45 +08:00
parent 377a279ac3
commit 957c4e4045
5 changed files with 134 additions and 16 deletions

View File

@@ -80,6 +80,7 @@ namespace Runtime.ADAggregator
controller.Init(adConfig , args);
_adController = controller;
_adConfig = adConfig;
PrewarmConfiguredPlayers();
onCallback?.Invoke();
#endif
}
@@ -102,12 +103,12 @@ namespace Runtime.ADAggregator
return true;
}
#pragma warning disable CS0162
if (AD_Dicts.ContainsKey(adType) == false)
if (!TryGetOrCreatePlayer(adType, out var player))
{
AD_Dicts[adType] = PlayerCreate(adType);
return false;
}
return AD_Dicts[adType].IsReadly();
return player.IsReadly();
#pragma warning restore CS0162
}
@@ -122,9 +123,9 @@ namespace Runtime.ADAggregator
}
// Debug.LogError("准备加载广告" + adType);
#pragma warning disable CS0162
if (!IsRealy(adType))
if (!IsRealy(adType) && TryGetOrCreatePlayer(adType, out var player))
{
AD_Dicts[adType].LoadAD();
player.LoadAD();
}
#pragma warning restore CS0162
}
@@ -165,15 +166,15 @@ namespace Runtime.ADAggregator
try
{
_curAsyncPlayer?.Kill();
if (AD_Dicts.ContainsKey(adType) == false)
if (!TryGetOrCreatePlayer(adType, out var player))
{
AD_Dicts[adType] = PlayerCreate(adType);
callback?.Invoke(false);
return;
}
var player = AD_Dicts[adType];
if (adType == AD_Type.AwardVideo)
GLOBAL_ShowAwardVideoBefore?.Invoke(player.Key , adScene);
_curAsyncPlayer = new AsyncAdPlayer(player, adScene, callback);
GLOBAL_ShowAwardVideoBefore?.Invoke(player.Key , NormalizeScenario(adScene));
_curAsyncPlayer = new AsyncAdPlayer(player, NormalizeScenario(adScene), callback);
}
catch (Exception e)
{
@@ -194,11 +195,74 @@ namespace Runtime.ADAggregator
}
#pragma warning disable CS0162
var adPlayer = _adController.CreateAdPlayer(type);
if (adPlayer == null)
{
return null;
}
adPlayer.ADType = type;
return adPlayer;
#pragma warning restore CS0162
}
public void EnterAdScenario(AD_Type adType, string adScene)
{
#if UNITY_EDITOR
return;
#endif
if (!_isInit || mIsGMModel)
{
return;
}
#pragma warning disable CS0162
if (!TryGetOrCreatePlayer(adType, out var player))
{
return;
}
player.EnterAdScenario(NormalizeScenario(adScene));
#pragma warning restore CS0162
}
private bool TryGetOrCreatePlayer(AD_Type type, out ADPlayer player)
{
if (AD_Dicts.TryGetValue(type, out player) && player != null)
{
return true;
}
player = PlayerCreate(type);
if (player == null)
{
return false;
}
AD_Dicts[type] = player;
return true;
}
private void PrewarmConfiguredPlayers()
{
foreach (AD_Type adType in Enum.GetValues(typeof(AD_Type)))
{
if (!TryGetOrCreatePlayer(adType, out var player))
{
continue;
}
if (!player.AutoPreloadOnInit)
{
continue;
}
player.LoadAD();
}
}
private static string NormalizeScenario(string scenario)
{
return string.IsNullOrWhiteSpace(scenario) ? "__default__" : scenario.Trim();
}
public void CloseAd(AD_Type adType)
{
#if UNITY_EDITOR
@@ -323,4 +387,4 @@ namespace Runtime.ADAggregator
GLOBAL_ShowAwardVideoComplete?.Invoke(isComplete);
}
}
}
}