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

View File

@ -11,7 +11,9 @@ namespace Guru
public partial class GuruSDK
{
#region 通用接口
//TODO: 需要有一个通用的 IEventData 的接口, 需要实现 getName, getData, getSetting, getPriority 等方法
//TODO: Analytics.Track 的参数改为 IEventData
/// <summary>
/// 自定义事件打点
/// </summary>
@ -209,7 +211,9 @@ namespace Guru
}
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>
public static void LogLevelEndSuccess(int bPlay, Dictionary<string, object> extra = null)
{
if (extra == null) extra = new Dictionary<string, object>();
Analytics.LevelEndSuccess(bPlay, extra);
var eventData = new LevelEndSuccessEventData(bPlay, extra);
Analytics.TrackLevelEndSuccessEvent(eventData);
}
/// <summary>
@ -1227,4 +1231,6 @@ namespace Guru
#endregion
}
}

View File

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

View File

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