update: 更新逻辑, 重构事件上报
Signed-off-by: huyufei <yufei.hu@castbox.fm>
							parent
							
								
									a1ad7b31de
								
							
						
					
					
						commit
						94def4fc3b
					
				|  | @ -11,6 +11,17 @@ namespace Guru | |||
| 		replay | ||||
| 	} | ||||
| 	 | ||||
| 	/// <summary> | ||||
| 	/// 打点优先级 | ||||
| 	/// </summary> | ||||
| 	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<string> PredefinedMidWareProperties = new HashSet<string>() | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -149,27 +149,13 @@ namespace Guru | |||
| 		/// </summary> | ||||
| 		/// <param name="level">总计完成的管卡数 (b_play)</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; | ||||
| 			 | ||||
| 			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); | ||||
| 		} | ||||
| 		 | ||||
| 
 | ||||
| 		/// <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