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", 1.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);
|
||
|
||
|
||
}
|
||
}
|
||
}
|
||
} |