using GameAnalyticsSDK; using UnityEngine; using System.Collections.Generic; /* 在线参数类 若需新增一个在线参数: 1. 可新添加一行 ToukaOnlineParam 定义,参数为 umeng后台配的key 和 其本地默认值。 2. 把新定义的参数 加到 onlineParamsList 中 3. 使用在线参数:int.Parse(StaticOnlineParams.IV1_PerM_OnlineParam.DefaultValue);/ string.Parse(xxx.DefaultValue); 内部会处理,拿到一次在线参数后,缓存在本地,下次启动若没拿到在线参数,会用上次缓存的。以保证参数变量不会跳来跳去。在线参数缓存后,会更新为新的在线参数值。 在线参数没配的,直接走本地默认值。 */ public partial class StaticOnlineParams { // --------------------- SDK 内部封装到的 在线参数,默认值需根据需求修改 ----------------------- // 新用户看N次广告上报 public static ToukaOnlineParam NewUserAdsCountOnlineParams = new ToukaOnlineParam("NewUserAdsCount", 10.ToString()); // 新用户看N次广告上报 // 插屏相关在线参数 IV1 public static ToukaOnlineParam IV1_PreTimesN_OnlineParam = new ToukaOnlineParam("IV1_PreTimesN", 1.ToString()); // 前N次触发不弹插屏 public static ToukaOnlineParam IV1_PerM_OnlineParam = new ToukaOnlineParam("IV1_PerM", 1.ToString()); // 每M次触发一次 public static ToukaOnlineParam IV1_MinTimeL_OnlineParam = new ToukaOnlineParam("IV1_MinTimeL", 15.ToString()); // 和上次广告间隔15s // 插屏相关在线参数 IV2 public static ToukaOnlineParam IV2_PreTimesN_OnlineParam = new ToukaOnlineParam("IV2_PreTimesN", 1.ToString()); // 前N次触发不弹插屏 public static ToukaOnlineParam IV2_PerM_OnlineParam = new ToukaOnlineParam("IV2_PerM", 2.ToString()); // 每M次触发一次 public static ToukaOnlineParam IV2_MinTimeL_OnlineParam = new ToukaOnlineParam("IV2_MinTimeL", 15.ToString()); // 和上次广告间隔15s // --------------------- 游戏新增 在线参数 (key, 默认值) ----------------------- // ** 第一步:新增一行在线参数定义 public static ToukaOnlineParam NewUserRVCountOnlineParams = new ToukaOnlineParam("NewUserRVCount", 6.ToString()); // 新用户看N次激励视频广告上报 public static ToukaOnlineParam NewUserPassXLevelOnlineParams = new ToukaOnlineParam("NewUserPassXLevel", 15.ToString()); // 新用户通关第N关上报 public static ToukaOnlineParam IsShowAuthViewOnlineParams = new ToukaOnlineParam("isShowAuthView", 0.ToString()); // 实名认证开关,默认关闭 private List onlineParamsList = new List() { NewUserAdsCountOnlineParams,IV1_PerM_OnlineParam, IV1_MinTimeL_OnlineParam, IV1_PreTimesN_OnlineParam, IV2_PerM_OnlineParam, IV2_MinTimeL_OnlineParam, IV2_PreTimesN_OnlineParam }; public void InitData() { // ** 第二步:添加到 在线参数列表里 onlineParamsList.Add(NewUserRVCountOnlineParams); onlineParamsList.Add(NewUserPassXLevelOnlineParams); onlineParamsList.Add(IsShowAuthViewOnlineParams); } /// /// 初始化 /// private void InitAllGameParams() { // init values foreach(ToukaOnlineParam tempParam in onlineParamsList) { tempParam.InitValue(GetOnlineValueFromLocal(tempParam.Key, tempParam.DefaultValue)); // 初始化,取本地缓存的值 Debug.Log("[StaticOnlineParams] 初始化Umeng在线参数,本地缓存值key :" + tempParam.Key + " , value : " + tempParam.DefaultValue); } } /// /// 解析在线参数 /// public void parseGameOnlineConfig() { Debug.Log("[StaticOnlineParams] 开始解析Umeng回来的在线参数 ----------"); // update values foreach (ToukaOnlineParam tempParam in onlineParamsList) { string tempValue = ""; tempValue = TGTools.Instance.ConfigValueForKey(tempParam.Key); if (!string.IsNullOrEmpty(tempValue)) { Debug.Log("[StaticOnlineParams] 拿到的Umeng在线参数, key :" + tempParam.Key + " , value : " + tempValue); tempParam.UpdateValueByKey(tempValue); } } } }