You've already forked CC-Framework.Commercialization
release: 1.0.12
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user