From 52f2700c37a720c47baac2db802d0b6588eab68f Mon Sep 17 00:00:00 2001 From: huyufei Date: Sat, 3 Aug 2024 18:40:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=87=AA=E6=89=93=E7=82=B9=20Firebase?= =?UTF-8?q?=20ID=20=E8=B5=8B=E5=80=BC=E4=BC=98=E5=8C=96=EF=BC=8C=20?= =?UTF-8?q?=E6=95=B4=E5=90=88=E5=88=B0=E5=88=9D=E5=A7=8B=E5=8C=96=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E5=86=85=EF=BC=8C=20=E4=B8=8D=E5=86=8D=E5=A4=96?= =?UTF-8?q?=E9=83=A8=E5=8D=95=E7=8B=AC=E8=B5=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: huyufei --- .../Runtime/Script/GuruAnalytics.cs | 20 ++++++++++++++----- .../Script/GuruAnalyticsConfigManager.cs | 10 ++++++++-- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/Runtime/GuruAnalytics/Runtime/Script/GuruAnalytics.cs b/Runtime/GuruAnalytics/Runtime/Script/GuruAnalytics.cs index c5c20ee..16a7d05 100644 --- a/Runtime/GuruAnalytics/Runtime/Script/GuruAnalytics.cs +++ b/Runtime/GuruAnalytics/Runtime/Script/GuruAnalytics.cs @@ -105,24 +105,30 @@ namespace Guru /// /// 初始化接口 /// - public static void Init(string appId, string deviceInfo, Action onInitComplete, bool isDebug = false) + public static void Init(string appId, string deviceInfo, Action onInitComplete, bool isDebug = false, string firebaseId = "") { Debug.Log($"{Tag} --- Guru Analytics [{Version}] initialing..."); if (_instance == null) { _instance = new GuruAnalytics(); - bool enableErrorLog = false; string groupId = "not_set"; #if UNITY_ANDROID - enableErrorLog = true; // 获取云控参数 // TODO: 针对 GuruSDK 整体的云控值做一个分组的解决方案 var guruInitParams = GuruAnalyticsConfigManager.GetInitParams(); // 记录分组数据 groupId = guruInitParams.groupId; + if (!string.IsNullOrEmpty(firebaseId)) + { + // 设置 Firebase ID + _instance.Agent?.SetFirebaseId(firebaseId); + } + if (guruInitParams.enabled && Instance.Agent is AnalyticsAgentAndroid androidAgent) { + _instance.EnableErrorLog = true; + _instance._experimentGroupId = groupId; // 强制转换为 Android 的自打点初始化接口 androidAgent.InitAndroidConfig(appId, deviceInfo, guruInitParams.baseUrl, guruInitParams.uploadIpAddress, // <--- Android 附加参数 @@ -134,13 +140,17 @@ namespace Guru _instance.Agent.Init(appId, deviceInfo, onInitComplete, isDebug); } #else + _instance.EnableErrorLog = false; + _instance._experimentGroupId = groupId; // iOS 使用正常的启动接口 _instance.Agent.Init(appId, deviceInfo, onInitComplete, isDebug); #endif - _instance.EnableErrorLog = enableErrorLog; - _instance._experimentGroupId = groupId; + _isReady = true; + + Debug.Log($"{Tag} --- Guru Analytics [{Version}] initialized."); + Debug.Log($"{Tag} --- GroupId: {groupId}"); } } diff --git a/Runtime/GuruAnalytics/Runtime/Script/GuruAnalyticsConfigManager.cs b/Runtime/GuruAnalytics/Runtime/Script/GuruAnalyticsConfigManager.cs index 891a2df..2d71bc1 100644 --- a/Runtime/GuruAnalytics/Runtime/Script/GuruAnalyticsConfigManager.cs +++ b/Runtime/GuruAnalytics/Runtime/Script/GuruAnalyticsConfigManager.cs @@ -72,7 +72,7 @@ namespace Guru /// private const string DEFAULT_GURU_ANALYTICS_EXP = @"{ ""enable"": true, - ""exps"": [{ + ""experiments"": [{ ""groupId"": ""B"", ""baseUrl"": ""https://collect.saas.castbox.fm"", ""uploadIpAddress"": [""13.248.248.135"", ""3.33.195.44""] @@ -144,7 +144,7 @@ namespace Guru // 最后取不到的话只能默认分组了 if (config == null) { config = DefaultData.GetFirstConfig(); // 默认是 B 组 - if(IsDebug) Debug.LogWarning($"{Tag} --- #3 Try get config is Null -> using Default config"); + if(IsDebug) Debug.LogWarning($"{Tag} --- #3.1 Try get config is Null -> using Default config"); } if (config != null) @@ -153,6 +153,7 @@ namespace Guru groupId = config.groupId; uploadIpAddress = config.uploadIpAddress; LocalExperimentGroupId = groupId; + Debug.LogWarning($"{Tag} --- #3 Using Default config:: baseUrl:{baseUrl} groupId:{groupId} uploadIpAddress:[{ (uploadIpAddress != null ? string.Join(",", uploadIpAddress) : "null")}]"); } else { @@ -260,6 +261,11 @@ namespace Guru public string groupId; public string baseUrl; public string[] uploadIpAddress; + + public override string ToString() + { + return JsonParser.ToJson(this); + } } [Serializable]