远程配置加log、IV_RULES插屏展示逻辑、

This commit is contained in:
玉峰 2025-09-01 14:45:25 +08:00
parent e166aa143f
commit c25bcd63e9
3 changed files with 62 additions and 34 deletions

View File

@ -319,16 +319,16 @@ public class AdsSDKManager : NormalSingleton<AdsSDKManager>
{ {
//1.获取远程配置 //1.获取远程配置
string json = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("IV_RULES"); string json = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("IV_RULES");
if (string.IsNullOrEmpty(json)) if (string.IsNullOrEmpty(json))
{ {
return true; return true;
} }
//2.解析配置 //2.解析配置
var dates = JsonConvert.DeserializeObject<IvRulesData[]>(json); var dates = JsonConvert.DeserializeObject<IvRulesData[]>(json);
if (dates == null && dates.Length == 0) if (dates == null && dates.Length == 0)
{ {
return true; return true;
} }
//3.获取IVADType对应的配置 //3.获取IVADType对应的配置
IvRulesData ivRulesData = null; IvRulesData ivRulesData = null;
foreach (var data in dates) foreach (var data in dates)
@ -343,31 +343,32 @@ public class AdsSDKManager : NormalSingleton<AdsSDKManager>
return true; return true;
} }
//4.判断skip(次安装跳过几次触发不展示广告) //4.判断skip(次安装跳过几次触发不展示广告)
int skipLevel = ivRulesData.skipLevel; int skipLevel = ivRulesData.skipLevel;
int currentSkipLevel = PlayerPrefsUtils.GetPlayerPrefsInt(IvRulesKey.KEY_SKIPLEVEL, 0); int currentSkipLevel = PlayerPrefsUtils.GetPlayerPrefsInt(IvRulesKey.KEY_SKIPLEVEL, 0);
LoggerUtils.Debug($"[SDK] skipLevel is {skipLevel}, currentSkipLevel is {currentSkipLevel}"); if (currentSkipLevel < skipLevel)
if (currentSkipLevel < skipLevel) {
{ LoggerUtils.Debug($"[SDK] skipLevel limit");
PlayerPrefsUtils.SavePlayerPrefsInt(IvRulesKey.KEY_SKIPLEVEL, currentSkipLevel + 1); PlayerPrefsUtils.SavePlayerPrefsInt(IvRulesKey.KEY_SKIPLEVEL, currentSkipLevel + 1);
return false; return false;
} }
//5.判断overLevel(没跳过几次触发) //5.判断overLevel(没跳过几次触发)
int overLevel = ivRulesData.overLevel; int overLevel = ivRulesData.overLevel;
int currentOverLevel = IvRulesConst.CurrentOverLevel; int currentOverLevel = IvRulesConst.CurrentOverLevel;
LoggerUtils.Debug($"[SDK] overLevel is {overLevel}, currentOverLevel is {currentOverLevel}"); if (currentOverLevel < overLevel)
if (currentOverLevel < overLevel) {
{ LoggerUtils.Debug($"[SDK] overLevel limit");
IvRulesConst.CurrentOverLevel++; IvRulesConst.CurrentOverLevel++;
return false; return false;
} }
//6.判断interval(广告时间间隔) //6.判断interval(广告时间间隔)
int interval = ivRulesData.interval; int interval = ivRulesData.interval;
long currentInterval = IvRulesConst.CurrentInterval; long currentInterval = IvRulesConst.CurrentInterval;
long localTimestamp = TimeUtils.GetLocalTimestamp(); long localTimestamp = TimeUtils.GetLocalTimestamp();
LoggerUtils.Debug($"[SDK] interval is {interval}, currentInterval is {currentInterval}, localTimestamp is {localTimestamp}");
if (localTimestamp < currentInterval + (interval * 1000L)) if (localTimestamp < currentInterval + (interval * 1000L))
{ {
LoggerUtils.Debug($"[SDK] interval limit");
return false; return false;
} }

View File

@ -52,12 +52,23 @@ public class AppSDKManager : MonoBehaviour
} }
} }
public void ShowRewardAd(string position, string videoId, Action<double> callback = null) public bool IsRewardAdReady()
{
return AdsSDKManager.Instance.IsRewardAdReady();;
}
public void ShowRewardAd(string position, Action<double> callback = null)
{ {
bool isRewardAdReady = AdsSDKManager.Instance.IsRewardAdReady(); bool isRewardAdReady = AdsSDKManager.Instance.IsRewardAdReady();
if (isRewardAdReady) if (isRewardAdReady)
{ {
AdsSDKManager.Instance.ShowRewardAd(position, (isReward) =>
{
if (isReward)
{
//callback?.Invoke();
}
});
} }
} }
} }

View File

@ -50,15 +50,19 @@ public class FireBaseRemoteConfigManager : NormalSingleton<FireBaseRemoteConfigM
if (configValue.Source == ValueSource.RemoteValue) if (configValue.Source == ValueSource.RemoteValue)
{ {
return (int)GetValueLong(newKey, configValue); int value = (int)GetValueLong(newKey, configValue);
LoggerUtils.Debug($"[RemoteConfig] key is {key}, defaultValue is {defaultValue}, value is {value}, No Is defaultValue");
return value;
} }
else else
{ {
LoggerUtils.Debug($"[RemoteConfig] key is {key}, defaultValue is {defaultValue}, value is {defaultValue}, Is defaultValue");
return defaultValue; return defaultValue;
} }
} }
catch (Exception e) catch (Exception e)
{ {
LoggerUtils.Debug($"[RemoteConfig] key is {key}, defaultValue is {defaultValue}, value is {defaultValue}, Is defaultValue");
Debug.LogError($"Failed to get Remote Config value for key '{key}': {e.Message}"); Debug.LogError($"Failed to get Remote Config value for key '{key}': {e.Message}");
return defaultValue; return defaultValue;
} }
@ -80,16 +84,20 @@ public class FireBaseRemoteConfigManager : NormalSingleton<FireBaseRemoteConfigM
var configValue = FirebaseRemoteConfig.DefaultInstance.GetValue(newKey); var configValue = FirebaseRemoteConfig.DefaultInstance.GetValue(newKey);
if (configValue.Source == ValueSource.RemoteValue) if (configValue.Source == ValueSource.RemoteValue)
{ {
return GetValueStr(newKey, configValue); string valueStr = GetValueStr(newKey, configValue);
LoggerUtils.Debug($"[RemoteConfig] key is {key}, defaultValue is {defaultValue}, value is {valueStr}, No Is defaultValue");
return valueStr;
} }
else else
{ {
LoggerUtils.Debug($"[RemoteConfig] key is {key}, defaultValue is {defaultValue}, value is {defaultValue}, Is defaultValue");
return defaultValue; return defaultValue;
} }
} }
catch (Exception e) catch (Exception e)
{ {
Debug.LogError($"Failed to get Remote Config value for key '{key}': {e.Message}"); Debug.LogError($"Failed to get Remote Config value for key '{key}': {e.Message}");
LoggerUtils.Debug($"[RemoteConfig] key is {key}, defaultValue is {defaultValue}, value is {defaultValue}, Is defaultValue");
return defaultValue; return defaultValue;
} }
@ -111,15 +119,19 @@ public class FireBaseRemoteConfigManager : NormalSingleton<FireBaseRemoteConfigM
if (configValue.Source == ValueSource.RemoteValue) if (configValue.Source == ValueSource.RemoteValue)
{ {
return GetValueBool(newKey, configValue); bool valueBool = GetValueBool(newKey, configValue);
LoggerUtils.Debug($"[RemoteConfig] key is {key}, defaultValue is {defaultValue}, value is {valueBool}, No Is defaultValue");
return valueBool;
} }
else else
{ {
LoggerUtils.Debug($"[RemoteConfig] key is {key}, defaultValue is {defaultValue}, value is {defaultValue}, Is defaultValue");
return defaultValue; return defaultValue;
} }
} }
catch (Exception e) catch (Exception e)
{ {
LoggerUtils.Debug($"[RemoteConfig] key is {key}, defaultValue is {defaultValue}, value is {defaultValue}, Is defaultValue");
Debug.LogError($"Failed to get Remote Config value for key '{key}': {e.Message}"); Debug.LogError($"Failed to get Remote Config value for key '{key}': {e.Message}");
return defaultValue; return defaultValue;
} }
@ -142,15 +154,19 @@ public class FireBaseRemoteConfigManager : NormalSingleton<FireBaseRemoteConfigM
if (configValue.Source == ValueSource.RemoteValue) if (configValue.Source == ValueSource.RemoteValue)
{ {
return (float)GetValueDouble(newKey, configValue); float valueFloat = (float)GetValueDouble(newKey, configValue);
LoggerUtils.Debug($"[RemoteConfig] key is {key}, defaultValue is {defaultValue}, value is {valueFloat}, No Is defaultValue");
return valueFloat;
} }
else else
{ {
LoggerUtils.Debug($"[RemoteConfig] key is {key}, defaultValue is {defaultValue}, value is {defaultValue}, Is defaultValue");
return defaultValue; return defaultValue;
} }
} }
catch (Exception e) catch (Exception e)
{ {
LoggerUtils.Debug($"[RemoteConfig] key is {key}, defaultValue is {defaultValue}, value is {defaultValue}, Is defaultValue");
Debug.LogError($"Failed to get Remote Config value for key '{key}': {e.Message}"); Debug.LogError($"Failed to get Remote Config value for key '{key}': {e.Message}");
return defaultValue; return defaultValue;
} }