93 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			C#
		
	
	
	
| 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<ToukaOnlineParam> onlineParamsList = new List<ToukaOnlineParam>() {
 | ||
|         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);
 | ||
|     }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 初始化
 | ||
|     /// </summary>
 | ||
|     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);
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 解析在线参数
 | ||
|     /// </summary>
 | ||
|     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);
 | ||
| 
 | ||
|                 
 | ||
|             }
 | ||
|         }
 | ||
|     }
 | ||
| } |