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.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