fix: 自打点 Firebase ID 赋值优化, 整合到初始化函数内, 不再外部单独赋值
Signed-off-by: huyufei <yufei.hu@castbox.fm>
parent
c73aa0cd96
commit
52f2700c37
|
|
@ -105,24 +105,30 @@ namespace Guru
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 初始化接口
|
/// 初始化接口
|
||||||
/// </summary>
|
/// </summary>
|
||||||
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...");
|
Debug.Log($"{Tag} --- Guru Analytics [{Version}] initialing...");
|
||||||
if (_instance == null)
|
if (_instance == null)
|
||||||
{
|
{
|
||||||
_instance = new GuruAnalytics();
|
_instance = new GuruAnalytics();
|
||||||
bool enableErrorLog = false;
|
|
||||||
string groupId = "not_set";
|
string groupId = "not_set";
|
||||||
#if UNITY_ANDROID
|
#if UNITY_ANDROID
|
||||||
enableErrorLog = true;
|
|
||||||
// 获取云控参数
|
// 获取云控参数
|
||||||
// TODO: 针对 GuruSDK 整体的云控值做一个分组的解决方案
|
// TODO: 针对 GuruSDK 整体的云控值做一个分组的解决方案
|
||||||
var guruInitParams = GuruAnalyticsConfigManager.GetInitParams();
|
var guruInitParams = GuruAnalyticsConfigManager.GetInitParams();
|
||||||
// 记录分组数据
|
// 记录分组数据
|
||||||
groupId = guruInitParams.groupId;
|
groupId = guruInitParams.groupId;
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(firebaseId))
|
||||||
|
{
|
||||||
|
// 设置 Firebase ID
|
||||||
|
_instance.Agent?.SetFirebaseId(firebaseId);
|
||||||
|
}
|
||||||
|
|
||||||
if (guruInitParams.enabled && Instance.Agent is AnalyticsAgentAndroid androidAgent)
|
if (guruInitParams.enabled && Instance.Agent is AnalyticsAgentAndroid androidAgent)
|
||||||
{
|
{
|
||||||
|
_instance.EnableErrorLog = true;
|
||||||
|
_instance._experimentGroupId = groupId;
|
||||||
// 强制转换为 Android 的自打点初始化接口
|
// 强制转换为 Android 的自打点初始化接口
|
||||||
androidAgent.InitAndroidConfig(appId, deviceInfo,
|
androidAgent.InitAndroidConfig(appId, deviceInfo,
|
||||||
guruInitParams.baseUrl, guruInitParams.uploadIpAddress, // <--- Android 附加参数
|
guruInitParams.baseUrl, guruInitParams.uploadIpAddress, // <--- Android 附加参数
|
||||||
|
|
@ -134,13 +140,17 @@ namespace Guru
|
||||||
_instance.Agent.Init(appId, deviceInfo, onInitComplete, isDebug);
|
_instance.Agent.Init(appId, deviceInfo, onInitComplete, isDebug);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
_instance.EnableErrorLog = false;
|
||||||
|
_instance._experimentGroupId = groupId;
|
||||||
// iOS 使用正常的启动接口
|
// iOS 使用正常的启动接口
|
||||||
_instance.Agent.Init(appId, deviceInfo, onInitComplete, isDebug);
|
_instance.Agent.Init(appId, deviceInfo, onInitComplete, isDebug);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
_instance.EnableErrorLog = enableErrorLog;
|
|
||||||
_instance._experimentGroupId = groupId;
|
|
||||||
_isReady = true;
|
_isReady = true;
|
||||||
|
|
||||||
|
Debug.Log($"{Tag} --- Guru Analytics [{Version}] initialized.");
|
||||||
|
Debug.Log($"{Tag} --- GroupId: {groupId}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ namespace Guru
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private const string DEFAULT_GURU_ANALYTICS_EXP = @"{
|
private const string DEFAULT_GURU_ANALYTICS_EXP = @"{
|
||||||
""enable"": true,
|
""enable"": true,
|
||||||
""exps"": [{
|
""experiments"": [{
|
||||||
""groupId"": ""B"",
|
""groupId"": ""B"",
|
||||||
""baseUrl"": ""https://collect.saas.castbox.fm"",
|
""baseUrl"": ""https://collect.saas.castbox.fm"",
|
||||||
""uploadIpAddress"": [""13.248.248.135"", ""3.33.195.44""]
|
""uploadIpAddress"": [""13.248.248.135"", ""3.33.195.44""]
|
||||||
|
|
@ -144,7 +144,7 @@ namespace Guru
|
||||||
// 最后取不到的话只能默认分组了
|
// 最后取不到的话只能默认分组了
|
||||||
if (config == null) {
|
if (config == null) {
|
||||||
config = DefaultData.GetFirstConfig(); // 默认是 B 组
|
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)
|
if (config != null)
|
||||||
|
|
@ -153,6 +153,7 @@ namespace Guru
|
||||||
groupId = config.groupId;
|
groupId = config.groupId;
|
||||||
uploadIpAddress = config.uploadIpAddress;
|
uploadIpAddress = config.uploadIpAddress;
|
||||||
LocalExperimentGroupId = groupId;
|
LocalExperimentGroupId = groupId;
|
||||||
|
Debug.LogWarning($"{Tag} --- #3 Using Default config:: baseUrl:{baseUrl} groupId:{groupId} uploadIpAddress:[{ (uploadIpAddress != null ? string.Join(",", uploadIpAddress) : "null")}]");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -260,6 +261,11 @@ namespace Guru
|
||||||
public string groupId;
|
public string groupId;
|
||||||
public string baseUrl;
|
public string baseUrl;
|
||||||
public string[] uploadIpAddress;
|
public string[] uploadIpAddress;
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return JsonParser.ToJson(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable]
|
[Serializable]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue