using System; using System.Collections; using System.Collections.Generic; using Script.SDKManager.AdsSDKManager.Constant; using Script.Utils; using UnityEngine; namespace Script.SDKManager.AdsSDKManager.Utils { public class AdPlayCountManager { private const string PLAY_COUNT_SUFFIX = "_PLAY_COUNT"; // 关键事件数据 public static int GetKeyEventPlayCount(string key) { try { return PlayerPrefsUtils.GetPlayerPrefsInt(key, 0); } catch (Exception ex) { return 0; } } public static void SetKeyEventPlayCount(string key, int count) { try { PlayerPrefsUtils.SavePlayerPrefsInt(key, count); } catch (Exception ex) { LoggerUtils.Error($"设置广告播放次数失败: {ex.Message}"); } } public static void IncrementKeyEventPlayCount(string key) { int currentCount = GetKeyEventPlayCount(key); SetKeyEventPlayCount(key, currentCount + 1); } public static int GetAdPlayCount(AdsType adsType) { try { string key = GetPlayCountKey(adsType); return PlayerPrefsUtils.GetPlayerPrefsInt(key, 0); } catch (Exception ex) { LoggerUtils.Error($"获取广告播放次数失败: {ex.Message}"); return 0; } } public static void SetAdPlayCount(AdsType adsType, int count) { try { string key = GetPlayCountKey(adsType); PlayerPrefsUtils.SavePlayerPrefsInt(key, count); } catch (Exception ex) { LoggerUtils.Error($"设置广告播放次数失败: {ex.Message}"); } } public static void IncrementAdPlayCount(AdsType adsType) { int currentCount = GetAdPlayCount(adsType); SetAdPlayCount(adsType, currentCount + 1); } private static string GetPlayCountKey(AdsType adsType) { return $"{adsType}{PLAY_COUNT_SUFFIX}"; } } }