From 94def4fc3bf37e9bbf42f4999a619b0e84b2e41d Mon Sep 17 00:00:00 2001 From: huyufei Date: Fri, 9 Aug 2024 18:21:38 +0800 Subject: [PATCH] =?UTF-8?q?update:=20=E6=9B=B4=E6=96=B0=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=20=E9=87=8D=E6=9E=84=E4=BA=8B=E4=BB=B6=E4=B8=8A?= =?UTF-8?q?=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: huyufei --- .../Runtime/Analytics/Analytics.Const.cs | 12 ++++ .../Runtime/Analytics/Analytics.Property.cs | 12 +++- .../Analytics/Analytics.TemplateDefine.cs | 60 +++++++++++++------ 3 files changed, 65 insertions(+), 19 deletions(-) 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; + } + } }