update: 添加 sdk_version 属性打点, CodeReview

main
胡宇飞 2024-08-09 18:21:01 +08:00
parent 7214c447a6
commit b0670ccafc
4 changed files with 20 additions and 28 deletions

View File

@ -64,8 +64,7 @@ namespace Guru
_bPlay = new BindableProperty<int>(model.b_play); _bPlay = new BindableProperty<int>(model.b_play);
_purchased = model.purchased; _purchased = model.purchased;
} }
public int BLevel public int BLevel
{ {
get => _bLevel.Value; get => _bLevel.Value;
@ -155,7 +154,7 @@ namespace Guru
/// 保存至 PlayerPrefs 数据 /// 保存至 PlayerPrefs 数据
/// </summary> /// </summary>
/// <param name="writeToDisk"></param> /// <param name="writeToDisk"></param>
private void SaveToPlayerPrefs(bool writeToDisk = false) private void SetToMemory()
{ {
var model = new GuruSDKSerializedModel() var model = new GuruSDKSerializedModel()
{ {
@ -171,11 +170,6 @@ namespace Guru
{ {
PlayerPrefs.SetString(SaveKey, json); PlayerPrefs.SetString(SaveKey, json);
} }
if(writeToDisk)
{
PlayerPrefs.Save(); // 写入到磁盘
}
} }
/// <summary> /// <summary>
@ -184,12 +178,12 @@ namespace Guru
/// <param name="forceSave"></param> /// <param name="forceSave"></param>
public void Save(bool forceSave = false) public void Save(bool forceSave = false)
{ {
bool writeToDisk = forceSave || (DateTime.Now - _lastSavedTime)>= TimeSpan.FromSeconds(SaveInterval); SetToMemory(); // 每次保存都要设置到 PlayerPrefs 内
if (writeToDisk)
{ bool shouldWriteToDisk = forceSave || (DateTime.Now - _lastSavedTime)>= TimeSpan.FromSeconds(SaveInterval);
_lastSavedTime = DateTime.Now; // 超过间隔需要强制写入 if (!shouldWriteToDisk) return;
} _lastSavedTime = DateTime.Now; // 更新最后保存时间
SaveToPlayerPrefs(writeToDisk); // 每次保存都要设置到 PlayerPrefs 内 PlayerPrefs.Save(); // 写入到磁盘
} }
#endregion #endregion

View File

@ -11,7 +11,9 @@ namespace Guru
public partial class GuruSDK public partial class GuruSDK
{ {
#region 通用接口 #region 通用接口
//TODO: 需要有一个通用的 IEventData 的接口, 需要实现 getName, getData, getSetting, getPriority 等方法
//TODO: Analytics.Track 的参数改为 IEventData
/// <summary> /// <summary>
/// 自定义事件打点 /// 自定义事件打点
/// </summary> /// </summary>
@ -209,7 +211,9 @@ namespace Guru
} }
Model.BPlay++; // 自动记录关卡总次数 Model.BPlay++; // 自动记录关卡总次数
Analytics.LevelEndSuccess(Model.BPlay, extra); // 自动 level_end_success
var eventData = new LevelEndSuccessEventData(Model.BPlay, extra);
Analytics.TrackLevelEndSuccessEvent(eventData); // 自动 level_end_success
} }
} }
@ -237,8 +241,8 @@ namespace Guru
/// /// <param name="extra">扩展参数</param> /// /// <param name="extra">扩展参数</param>
public static void LogLevelEndSuccess(int bPlay, Dictionary<string, object> extra = null) public static void LogLevelEndSuccess(int bPlay, Dictionary<string, object> extra = null)
{ {
if (extra == null) extra = new Dictionary<string, object>(); var eventData = new LevelEndSuccessEventData(bPlay, extra);
Analytics.LevelEndSuccess(bPlay, extra); Analytics.TrackLevelEndSuccessEvent(eventData);
} }
/// <summary> /// <summary>
@ -1227,4 +1231,6 @@ namespace Guru
#endregion #endregion
} }
} }

View File

@ -2,16 +2,7 @@ namespace Guru
{ {
public partial class GuruSDK public partial class GuruSDK
{ {
/// <summary>
/// 打点优先级
/// </summary>
public enum EventPriority
{
Emergence = 0,
High = 5,
Default = 10,
Low = 15
}
/// <summary> /// <summary>
/// Consts values /// Consts values

View File

@ -140,6 +140,7 @@ namespace Guru
Analytics.SetIsIapUser(Model.IsIapUser); Analytics.SetIsIapUser(Model.IsIapUser);
Analytics.SetBLevel(Model.BLevel); Analytics.SetBLevel(Model.BLevel);
Analytics.SetBPlay(Model.BPlay); Analytics.SetBPlay(Model.BPlay);
Analytics.SetGuruSdkVersion(Version);
//---- Start All tools ---- //---- Start All tools ----
LogI($"#2 --- InitFirebase ---"); LogI($"#2 --- InitFirebase ---");