update: 更新逻辑, 重构事件上报
Signed-off-by: huyufei <yufei.hu@castbox.fm>
parent
a1ad7b31de
commit
94def4fc3b
|
|
@ -11,6 +11,17 @@ namespace Guru
|
||||||
replay
|
replay
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 打点优先级
|
||||||
|
/// </summary>
|
||||||
|
public enum EventPriority
|
||||||
|
{
|
||||||
|
Emergence = 0,
|
||||||
|
High = 5,
|
||||||
|
Default = 10,
|
||||||
|
Low = 15
|
||||||
|
}
|
||||||
|
|
||||||
//打点常量定义
|
//打点常量定义
|
||||||
public partial class Analytics
|
public partial class Analytics
|
||||||
{
|
{
|
||||||
|
|
@ -134,6 +145,7 @@ namespace Guru
|
||||||
public const string PropertyFirebaseId = "firebase_id"; // FirebaseID
|
public const string PropertyFirebaseId = "firebase_id"; // FirebaseID
|
||||||
public const string PropertyGoogleAdId = "ad_id"; // Google AdId
|
public const string PropertyGoogleAdId = "ad_id"; // Google AdId
|
||||||
public const string PropertyAnalyticsExperimentalGroup = "guru_analytics_exp"; // Analytics Experimental Group
|
public const string PropertyAnalyticsExperimentalGroup = "guru_analytics_exp"; // Analytics Experimental Group
|
||||||
|
public const string PropertyGuruSdkVersion = "sdk_version"; // GuruSDK 版本号
|
||||||
|
|
||||||
|
|
||||||
public static HashSet<string> PredefinedMidWareProperties = new HashSet<string>()
|
public static HashSet<string> PredefinedMidWareProperties = new HashSet<string>()
|
||||||
|
|
|
||||||
|
|
@ -147,6 +147,12 @@ namespace Guru
|
||||||
_propertiesManager.ReportIDFA(idfa);
|
_propertiesManager.ReportIDFA(idfa);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void SetGuruSdkVersion(string sdkVersion)
|
||||||
|
{
|
||||||
|
_propertiesManager.ReportGuruSdkVersion(sdkVersion);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
@ -296,7 +302,11 @@ namespace Guru
|
||||||
_guruEventDriver.AddProperty(Analytics.PropertyIDFA, idfa);
|
_guruEventDriver.AddProperty(Analytics.PropertyIDFA, idfa);
|
||||||
_firebaseEventDriver.AddProperty(Analytics.PropertyIDFA, idfa);
|
_firebaseEventDriver.AddProperty(Analytics.PropertyIDFA, idfa);
|
||||||
}
|
}
|
||||||
|
public void ReportGuruSdkVersion(string sdkVersion)
|
||||||
|
{
|
||||||
|
_guruEventDriver.AddProperty(Analytics.PropertyGuruSdkVersion, sdkVersion);
|
||||||
|
_firebaseEventDriver.AddProperty(Analytics.PropertyGuruSdkVersion, sdkVersion);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
||||||
|
|
@ -149,27 +149,13 @@ namespace Guru
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="level">总计完成的管卡数 (b_play)</param>
|
/// <param name="level">总计完成的管卡数 (b_play)</param>
|
||||||
/// <param name="data"></param>
|
/// <param name="data"></param>
|
||||||
public static void LevelEndSuccess( int level, Dictionary<string, object> data)
|
public static void TrackLevelEndSuccessEvent(LevelEndSuccessEventData eventData)
|
||||||
{
|
{
|
||||||
if (level > GuruSettings.Instance.AnalyticsSetting.LevelEndSuccessNum)
|
if (eventData.level > GuruSettings.Instance.AnalyticsSetting.LevelEndSuccessNum)
|
||||||
return;
|
return;
|
||||||
|
TrackEvent(eventData.eventName, eventData.eventData, eventData.eventSetting, eventData.priority);
|
||||||
string eventName = $"level_end_success_{level}";
|
|
||||||
|
|
||||||
var dict = data.ToDictionary(
|
|
||||||
entry => entry.Key,
|
|
||||||
entry => entry.Value);
|
|
||||||
|
|
||||||
dict["level"] = level;
|
|
||||||
|
|
||||||
TrackEvent(eventName, dict, new EventSetting()
|
|
||||||
{
|
|
||||||
EnableFirebaseAnalytics = true,
|
|
||||||
EnableGuruAnalytics = true,
|
|
||||||
EnableAdjustAnalytics = true
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 第一次通关打点
|
/// 第一次通关打点
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -790,6 +776,44 @@ namespace Guru
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class LevelEndSuccessEventData
|
||||||
|
{
|
||||||
|
public readonly int level;
|
||||||
|
public readonly string eventName;
|
||||||
|
public readonly Dictionary<string, object> eventData;
|
||||||
|
public readonly Analytics.EventSetting eventSetting;
|
||||||
|
public readonly int priority;
|
||||||
|
|
||||||
|
public LevelEndSuccessEventData()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public LevelEndSuccessEventData(int level, Dictionary<string, object> extra = null)
|
||||||
|
{
|
||||||
|
this.level = level;
|
||||||
|
eventName = $"level_end_success_{level}";
|
||||||
|
eventData = new Dictionary<string, object>();
|
||||||
|
if (extra != null)
|
||||||
|
{
|
||||||
|
foreach (var key in extra.Keys)
|
||||||
|
{
|
||||||
|
eventData[key] = extra[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
eventData["level"] = level;
|
||||||
|
eventSetting = new Analytics.EventSetting()
|
||||||
|
{
|
||||||
|
EnableFirebaseAnalytics = true,
|
||||||
|
EnableGuruAnalytics = true,
|
||||||
|
EnableAdjustAnalytics = true
|
||||||
|
};
|
||||||
|
priority = (int)EventPriority.Emergence;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue