chicken_dy/Assets/Scripts/ToukaGames/AnalyticsScripts/ToukaSettings/StaticOnlineParams.cs

93 lines
4.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);
}
}
}
}