diff --git a/Runtime/GuruAnalytics/Plugins/Android/U3DAnalytics-1.10.4.aar b/Runtime/GuruAnalytics/Plugins/Android/U3DAnalytics-1.10.4.aar
deleted file mode 100644
index 3094d7b..0000000
Binary files a/Runtime/GuruAnalytics/Plugins/Android/U3DAnalytics-1.10.4.aar and /dev/null differ
diff --git a/Runtime/GuruAnalytics/Plugins/Android/U3DAnalytics-1.10.5.aar b/Runtime/GuruAnalytics/Plugins/Android/U3DAnalytics-1.10.5.aar
new file mode 100644
index 0000000..229ba41
Binary files /dev/null and b/Runtime/GuruAnalytics/Plugins/Android/U3DAnalytics-1.10.5.aar differ
diff --git a/Runtime/GuruAnalytics/Plugins/Android/U3DAnalytics-1.10.4.aar.meta b/Runtime/GuruAnalytics/Plugins/Android/U3DAnalytics-1.10.5.aar.meta
similarity index 93%
rename from Runtime/GuruAnalytics/Plugins/Android/U3DAnalytics-1.10.4.aar.meta
rename to Runtime/GuruAnalytics/Plugins/Android/U3DAnalytics-1.10.5.aar.meta
index 9c2109e..dcbb5be 100644
--- a/Runtime/GuruAnalytics/Plugins/Android/U3DAnalytics-1.10.4.aar.meta
+++ b/Runtime/GuruAnalytics/Plugins/Android/U3DAnalytics-1.10.5.aar.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 07cf2335bd298401b8015718fca55265
+guid: 32eda01e213614348899eefe856392d3
 PluginImporter:
   externalObjects: {}
   serializedVersion: 2
diff --git a/Runtime/GuruAnalytics/Plugins/Android/guru-analytics-1.0.3.aar b/Runtime/GuruAnalytics/Plugins/Android/guru-analytics-1.0.3.aar
deleted file mode 100644
index 8901499..0000000
Binary files a/Runtime/GuruAnalytics/Plugins/Android/guru-analytics-1.0.3.aar and /dev/null differ
diff --git a/Runtime/GuruAnalytics/Plugins/Android/guru-analytics-1.0.3.aar.meta b/Runtime/GuruAnalytics/Plugins/Android/guru-analytics-1.0.3.aar.meta
deleted file mode 100644
index 7e8e4af..0000000
--- a/Runtime/GuruAnalytics/Plugins/Android/guru-analytics-1.0.3.aar.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: caf6ff09835a4a75bff1b4b068f664ef
-timeCreated: 1717117895
\ No newline at end of file
diff --git a/Runtime/GuruAnalytics/Plugins/Android/guru-analytics-1.1.1.aar b/Runtime/GuruAnalytics/Plugins/Android/guru-analytics-1.1.1.aar
new file mode 100644
index 0000000..6640250
Binary files /dev/null and b/Runtime/GuruAnalytics/Plugins/Android/guru-analytics-1.1.1.aar differ
diff --git a/Runtime/GuruAnalytics/Plugins/Android/guru-analytics-1.1.1.aar.meta b/Runtime/GuruAnalytics/Plugins/Android/guru-analytics-1.1.1.aar.meta
new file mode 100644
index 0000000..3abec18
--- /dev/null
+++ b/Runtime/GuruAnalytics/Plugins/Android/guru-analytics-1.1.1.aar.meta
@@ -0,0 +1,32 @@
+fileFormatVersion: 2
+guid: 66c5f430ab9654ef4a2376e71aa04bca
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Android: Android
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Runtime/GuruAnalytics/README.md b/Runtime/GuruAnalytics/README.md
index 4a47be0..94bdeb5 100644
--- a/Runtime/GuruAnalytics/README.md
+++ b/Runtime/GuruAnalytics/README.md
@@ -7,15 +7,29 @@ GuruAnalyticsLib 的 Unity 插件库
   - 插件库内的 .aar 通过 [guru_analytics](https://github.com/castbox/guru_analytics) 项目直接构建 ( 命令 `gradle publishToMavenLocal` )
   - 构建后请改名为 `guru-analytics-{version}.aar`
   - 请将 .aar 文件放置于 `./Runtime/GuruAnalytics/Plugins/Android` 目录下 
-- **iOS**
-  - 插件库内的文件 通过 [GuruAnalytics_iOS](https://github.com/castbox/GuruAnalytics_iOS) 项目
-  - (1) 请将 repo 内的两个文件夹 `Assets` 和 `Classses` 拷贝至 `./Runtime/GuruAnalytics/Plugins/iOS/GuruAnalytics` 目录下:
-  - (2) 请将部署到 Unity 内所有的 `.swift` 文件的 meta 属性内, 取消 iOS 文件属性. (因为打包时会按照 POD 导入)
-  - 注意及时更新 `GuruAnalyticsLib.podspec`文件内的更新内容
+  - **iOS**
+    - 插件库内的文件 通过 [GuruAnalytics_iOS](https://github.com/castbox/GuruAnalytics_iOS) 项目
+    - (1) 请将 repo 内的两个文件夹 `Assets` 和 `Classses` 拷贝至 `./Runtime/GuruAnalytics/Plugins/iOS/GuruAnalytics` 目录下:
+    - (2) 请将部署到 Unity 内所有的 `.swift` 文件的 meta 属性内, 取消 iOS 文件属性. (因为打包时会按照 POD 导入)
+    - 注意及时更新 `GuruAnalyticsLib.podspec`文件内的更新内容
+        ```ruby
+        # 将 source 内的 git 属性删除, 只保留 tag 属性
+        # s.source    = { :git => 'git@github.com:castbox/GuruAnalytics_iOS.git', :tag => s.version.to_s }
+        s.source    = { :tag => s.version.to_s }
+        ```
 ---
 
 ## Change Logs
 
+### 1.12.0
+- Android 端对齐 `1.1.1`
+  > Hash: bdb41ae118dcf438e8efe4f27d0ec856bc3147b0
+- iOS 端对齐 `0.3.6`
+  > Hash: 0cd5ce7aa64e12caa7413c938a3164687b973843
+- Pod 库改为 本地文件引用 (配合外部发行项目)
+
+
+
 ### 1.11.0
 - Android 端对齐 `1.0.3`
   > Hash: 1978686dbcba38b7b0421d8b6b2bef111356366b
diff --git a/Runtime/GuruAnalytics/Runtime/Script/GuruAnalytics.cs b/Runtime/GuruAnalytics/Runtime/Script/GuruAnalytics.cs
index 3fab73f..0d15025 100644
--- a/Runtime/GuruAnalytics/Runtime/Script/GuruAnalytics.cs
+++ b/Runtime/GuruAnalytics/Runtime/Script/GuruAnalytics.cs
@@ -14,10 +14,11 @@ namespace Guru
     public class GuruAnalytics
     {
         // Plugin Version
-        public const string Version = "1.11.0";
+        public const string Version = "1.10.5";
         
         public static readonly string Tag = "[ANU]";
         private static readonly string ActionName = "logger_error";
+        internal const int EventPriorityDefault = 10;
         
         private static IAnalyticsAgent _agent;
         
@@ -200,7 +201,8 @@ namespace Guru
         /// 
         /// 事件名称
         /// INT类型的值
-        public static void LogEvent(string eventName, Dictionary data = null)
+        /// 
+        public static void LogEvent(string eventName, Dictionary data = null, int priority = -1)
         {
             if(_autoSyncProperties)
                 UpdateAllUserProperties(); // 每次打点更新用户属性
@@ -210,8 +212,9 @@ namespace Guru
             {
                 raw = BuildParamsJson(data);
             }
-            Debug.Log($"{Tag} event:{eventName} | raw: {raw}");
-            Agent?.LogEvent(eventName, raw);
+            if (priority < 0) priority = EventPriorityDefault;
+            Debug.Log($"{Tag} event:{eventName} | raw: {raw} | priority: {priority}");
+            Agent?.LogEvent(eventName, raw, priority);
         }
 
         private static string BuildParamsString(Dictionary data)
diff --git a/Runtime/GuruAnalytics/Runtime/Script/IAnalyticsAgent.cs b/Runtime/GuruAnalytics/Runtime/Script/IAnalyticsAgent.cs
index ac45d1c..3f3382e 100644
--- a/Runtime/GuruAnalytics/Runtime/Script/IAnalyticsAgent.cs
+++ b/Runtime/GuruAnalytics/Runtime/Script/IAnalyticsAgent.cs
@@ -15,7 +15,7 @@ namespace Guru
         void SetUid(string uid);
         bool IsDebug { get; }
         bool EnableErrorLog { get; set; }
-        void LogEvent(string eventName, string parameters);
+        void LogEvent(string eventName, string parameters, int priority = -1);
         void ReportEventSuccessRate(); // 上报任务成功率
         void SetTch02Value(double value); // 设置太极02数值
         void InitCallback(string objName, string method); // 设置回调对象参数
diff --git a/Runtime/GuruAnalytics/Runtime/Script/Impl/AnalyticsAgentAndroid.cs b/Runtime/GuruAnalytics/Runtime/Script/Impl/AnalyticsAgentAndroid.cs
index b4fa7a9..50618c0 100644
--- a/Runtime/GuruAnalytics/Runtime/Script/Impl/AnalyticsAgentAndroid.cs
+++ b/Runtime/GuruAnalytics/Runtime/Script/Impl/AnalyticsAgentAndroid.cs
@@ -124,7 +124,10 @@ namespace Guru
         }
 
         public bool IsDebug => CallStatic("isDebug");
-        public void LogEvent(string eventName, string parameters) => CallStatic("logEvent", eventName, parameters);
+        public void LogEvent(string eventName, string parameters, int priority = -1)
+        { 
+            CallStatic("logEvent", eventName, parameters, priority);
+        }
         public void ReportEventSuccessRate() => CallStatic("reportEventRate");
         public void SetTch02Value(double value) => CallStatic("setTch02Value", value);
         public void InitCallback(string objName, string method) => CallStatic("initCallback", objName, method);
diff --git a/Runtime/GuruAnalytics/Runtime/Script/Impl/AnalyticsAgentIOS.cs b/Runtime/GuruAnalytics/Runtime/Script/Impl/AnalyticsAgentIOS.cs
index 7f410f3..26bbc94 100644
--- a/Runtime/GuruAnalytics/Runtime/Script/Impl/AnalyticsAgentIOS.cs
+++ b/Runtime/GuruAnalytics/Runtime/Script/Impl/AnalyticsAgentIOS.cs
@@ -122,7 +122,7 @@ namespace Guru
 
         public bool IsDebug => _isDebug;
 
-        public void LogEvent(string eventName, string data)
+        public void LogEvent(string eventName, string data, int priority = -1)
         {
 #if UNITY_IOS
             unityLogEvent(eventName, data);
diff --git a/Runtime/GuruAnalytics/Runtime/Script/Impl/AnalyticsAgentStub.cs b/Runtime/GuruAnalytics/Runtime/Script/Impl/AnalyticsAgentStub.cs
index 8be182e..22bff6d 100644
--- a/Runtime/GuruAnalytics/Runtime/Script/Impl/AnalyticsAgentStub.cs
+++ b/Runtime/GuruAnalytics/Runtime/Script/Impl/AnalyticsAgentStub.cs
@@ -87,7 +87,7 @@ namespace Guru
         public bool IsDebug => _isDebug;
         
 
-        public void LogEvent(string eventName, string parameters)
+        public void LogEvent(string eventName, string parameters, int priority = -1)
         {
             if (_isShowLog)
             {
@@ -127,7 +127,7 @@ namespace Guru
                         }
                     }
                     
-                    Debug.Log($"{TAG} LogEvent: event:{eventName}  Properties:\n{sb.ToString()}");
+                    Debug.Log($"{TAG} LogEvent: event:{eventName} ({priority})  Properties:\n{sb.ToString()}");
                 }
             }
         }
diff --git a/Runtime/GuruCore/Runtime/Analytics/Analytics.AdjustToken.cs b/Runtime/GuruCore/Runtime/Analytics/Analytics.AdjustToken.cs
index 71ed81f..b603242 100644
--- a/Runtime/GuruCore/Runtime/Analytics/Analytics.AdjustToken.cs
+++ b/Runtime/GuruCore/Runtime/Analytics/Analytics.AdjustToken.cs
@@ -29,7 +29,7 @@ namespace Guru
 			{
 				return null;
 			}
-		
+			UnityEngine.Debug.Log($"{TAG} --- Send Adjust Event: {eventName}({tokenID})");
 			return new AdjustEvent(tokenID);
 		}
 
diff --git a/Runtime/GuruCore/Runtime/Analytics/Analytics.Const.cs b/Runtime/GuruCore/Runtime/Analytics/Analytics.Const.cs
index 4c545d0..73bed60 100644
--- a/Runtime/GuruCore/Runtime/Analytics/Analytics.Const.cs
+++ b/Runtime/GuruCore/Runtime/Analytics/Analytics.Const.cs
@@ -15,7 +15,7 @@ namespace Guru
 		// 美元符号
 		public static readonly string USD = "USD"; 
 		// 广告平台
-		public static readonly string AdMAX = "MAX"; 
+		public static readonly string AdMAX = "MAX";
 		
 		//IAP打点事件
 		public static readonly string EventIAPFirst = "first_iap";
diff --git a/Runtime/GuruCore/Runtime/Analytics/Analytics.Custom.cs b/Runtime/GuruCore/Runtime/Analytics/Analytics.Custom.cs
index 74ea7b9..8260af5 100644
--- a/Runtime/GuruCore/Runtime/Analytics/Analytics.Custom.cs
+++ b/Runtime/GuruCore/Runtime/Analytics/Analytics.Custom.cs
@@ -309,12 +309,12 @@ namespace Guru
 	    /// 
 	    /// 
 	    /// 
-	    private static void CustomLogEvent(string key, Dictionary data = null)
+	    private static void CustomLogEvent(string key, Dictionary data = null, int priority = -1)
 	    {
 		    try
 		    {
 			    if (data == null) data = new Dictionary();
-			    GuruAnalytics.LogEvent(key, data);
+			    GuruAnalytics.LogEvent(key, data, priority);
 			    UpdateAllValues(); // 同步所有的ID
 		    }
 		    catch (Exception e)
diff --git a/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs b/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs
index 764ff56..ca4268d 100644
--- a/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs
+++ b/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs
@@ -631,11 +631,13 @@ namespace Guru
 			if (orderData.orderType == 1)
 			{
 				// sub_pruchase : Firebase + Guru + Adjust
+				Debug.Log($"{TAG} --- {productId}:{usdPrice} report SubPurchase");
 				SubPurchase(usdPrice, productId, orderId, orderDate);
 			}
 			else
 			{
 				// iap_purchase : Firebase + Guru + Adjust
+				Debug.Log($"{TAG} --- {productId}:{usdPrice} report IAPPurchase");
 				IAPPurchase(usdPrice, productId, orderId, orderDate);
 			}
 			
diff --git a/Runtime/GuruCore/Runtime/Analytics/Analytics.cs b/Runtime/GuruCore/Runtime/Analytics/Analytics.cs
index a6dad54..8abf985 100644
--- a/Runtime/GuruCore/Runtime/Analytics/Analytics.cs
+++ b/Runtime/GuruCore/Runtime/Analytics/Analytics.cs
@@ -1,10 +1,10 @@
 
-
-using System.Collections;
+using UnityEngine;
 
 namespace Guru
 {
 	using System;
+	using System.Collections;
 	using System.Collections.Generic;
 	using com.adjust.sdk;
 	using Facebook.Unity;
@@ -148,10 +148,10 @@ namespace Guru
 		/// 
 		/// 
 		/// 
-		internal static void LogEvent(string eventName, EventSetting eventSetting = null)
+		internal static void LogEvent(string eventName, EventSetting eventSetting = null, int priority = -1)
 		{
 			Log.I(TAG, $"eventName:{eventName}");
-			CustomLogEvent(eventName); // 自定义打点上报
+			CustomLogEvent(eventName, null, priority); // 自定义打点上报
 			CheckLogCache(eventName, null, eventSetting); // log缓存和消费
 			
 			if (!IsEnable) return;
@@ -180,18 +180,17 @@ namespace Guru
 		/// 
 		/// 
 		/// 
-		internal static void LogEvent(string eventName, Dictionary extras, EventSetting eventSetting = null) 
+		internal static void LogEvent(string eventName, Dictionary extras, EventSetting eventSetting = null, int priority = -1) 
 		{
 			Log.I(TAG, $"eventName:{eventName}, params:{string.Join(",", extras)}");
-			CustomLogEvent(eventName, extras); // 自定义打点上报
-
+			CustomLogEvent(eventName, extras, priority); // 自定义打点上报
 			CheckLogCache(eventName, extras, eventSetting); // log缓存和消费
 			
 			if (!IsEnable) return;
 
 			if (extras == null)
 			{
-				LogEvent(eventName, eventSetting); // 防空判定
+				LogEvent(eventName, eventSetting, priority); // 防空判定
 				return;
 			}
 
@@ -258,15 +257,16 @@ namespace Guru
 		/// 
 		/// 
 		/// 
-		public static void Track(string key, Dictionary data = null, EventSetting setting = null)
+		/// 
+		public static void Track(string key, Dictionary data = null, EventSetting setting = null, int priority = -1)
 		{
 			if (null != data)
 			{
-				LogEvent(key, data, setting);
+				LogEvent(key, data, setting, priority);
 			}
 			else
 			{
-				LogEvent(key, setting);
+				LogEvent(key, setting, priority);
 			}
 		}
 
@@ -312,7 +312,7 @@ namespace Guru
 		}
 
 
-		private static void CheckLogCache(string key, Dictionary data = null, EventSetting setting = null)
+		private static void CheckLogCache(string key, Dictionary data = null, EventSetting setting = null, int priority = -1)
 		{
 			try
 			{
@@ -320,7 +320,7 @@ namespace Guru
 				{
 					if (data == null) data = new Dictionary();
 					data["log_stamp"] = TimeUtil.GetCurrentTimeStamp().ToString();
-					SavedLogs.Enqueue(new SavedLog(key, data, setting));
+					SavedLogs.Enqueue(new SavedLog(key, data, setting, priority));
 				}
 				else
 				{
@@ -330,7 +330,7 @@ namespace Guru
 						while (SavedLogs.Count > 0)
 						{
 							var log = SavedLogs.Dequeue();
-							LogEvent(log.key, log.data, log.setting);
+							LogEvent(log.key, log.data, log.setting, log.priority);
 						}
 					}
 				}
@@ -349,18 +349,27 @@ namespace Guru
 	internal class SavedLog
 	{
 		public string key;
+		public int priority;
 		public Dictionary data;
 		public Analytics.EventSetting setting;
 
 		public SavedLog()
 		{
 		}
-
-		public SavedLog(string _key, Dictionary _data = null, Analytics.EventSetting _setting = null)
+		
+		/// 
+		/// 保存打点信息
+		/// 
+		/// 
+		/// 
+		/// 
+		/// 
+		public SavedLog(string _key, Dictionary _data = null, Analytics.EventSetting _setting = null, int _priority = -1)
 		{
 			key = _key;
 			data = _data;
 			setting = _setting;
+			priority = _priority;
 		}
 	}
 }
\ No newline at end of file