diff --git a/Runtime/GuruCore/Runtime/Analytics/Analytics.Const.cs b/Runtime/GuruCore/Runtime/Analytics/Analytics.Const.cs
index 07bcbd3..6b73f2e 100644
--- a/Runtime/GuruCore/Runtime/Analytics/Analytics.Const.cs
+++ b/Runtime/GuruCore/Runtime/Analytics/Analytics.Const.cs
@@ -11,6 +11,17 @@ namespace Guru
replay
}
+ ///
+ /// 打点优先级
+ ///
+ public enum EventPriority
+ {
+ Emergence = 0,
+ High = 5,
+ Default = 10,
+ Low = 15
+ }
+
//打点常量定义
public partial class Analytics
{
@@ -134,6 +145,7 @@ namespace Guru
public const string PropertyFirebaseId = "firebase_id"; // FirebaseID
public const string PropertyGoogleAdId = "ad_id"; // Google AdId
public const string PropertyAnalyticsExperimentalGroup = "guru_analytics_exp"; // Analytics Experimental Group
+ public const string PropertyGuruSdkVersion = "sdk_version"; // GuruSDK 版本号
public static HashSet PredefinedMidWareProperties = new HashSet()
diff --git a/Runtime/GuruCore/Runtime/Analytics/Analytics.Property.cs b/Runtime/GuruCore/Runtime/Analytics/Analytics.Property.cs
index a247479..6ea57a2 100644
--- a/Runtime/GuruCore/Runtime/Analytics/Analytics.Property.cs
+++ b/Runtime/GuruCore/Runtime/Analytics/Analytics.Property.cs
@@ -147,6 +147,12 @@ namespace Guru
_propertiesManager.ReportIDFA(idfa);
}
+ public static void SetGuruSdkVersion(string sdkVersion)
+ {
+ _propertiesManager.ReportGuruSdkVersion(sdkVersion);
+ }
+
+
#endregion
@@ -296,7 +302,11 @@ namespace Guru
_guruEventDriver.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
diff --git a/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs b/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs
index f833a30..1034574 100644
--- a/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs
+++ b/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs
@@ -149,27 +149,13 @@ namespace Guru
///
/// 总计完成的管卡数 (b_play)
///
- public static void LevelEndSuccess( int level, Dictionary data)
+ public static void TrackLevelEndSuccessEvent(LevelEndSuccessEventData eventData)
{
- if (level > GuruSettings.Instance.AnalyticsSetting.LevelEndSuccessNum)
+ if (eventData.level > GuruSettings.Instance.AnalyticsSetting.LevelEndSuccessNum)
return;
-
- 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
- });
+ TrackEvent(eventData.eventName, eventData.eventData, eventData.eventSetting, eventData.priority);
}
-
+
///
/// 第一次通关打点
///
@@ -790,6 +776,44 @@ namespace Guru
+ }
+
+
+ public class LevelEndSuccessEventData
+ {
+ public readonly int level;
+ public readonly string eventName;
+ public readonly Dictionary eventData;
+ public readonly Analytics.EventSetting eventSetting;
+ public readonly int priority;
+
+ public LevelEndSuccessEventData()
+ {
+
+ }
+
+ public LevelEndSuccessEventData(int level, Dictionary extra = null)
+ {
+ this.level = level;
+ eventName = $"level_end_success_{level}";
+ eventData = new Dictionary();
+ 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;
+ }
+
}
}