diff --git a/Runtime/Code/SDK/GuruSDK.Analytics.cs b/Runtime/Code/SDK/GuruSDK.Analytics.cs index 2913829..f1fdc27 100644 --- a/Runtime/Code/SDK/GuruSDK.Analytics.cs +++ b/Runtime/Code/SDK/GuruSDK.Analytics.cs @@ -265,6 +265,9 @@ namespace Guru #endregion #region SDK 打点 + + public const string EventUnitySDK = "guru_unity_sdk"; + /// /// Log SDK boost time @@ -272,16 +275,26 @@ namespace Guru /// private static void LogSDKInitTime(double time) { - Analytics.Track("sdk_init_time", new Dictionary() + Analytics.Track(EventUnitySDK, new Dictionary() { - {"time", time.ToString("F6")}, - {"device_id", DeviceId}, + { "init_time", time.ToString("F6") }, + { Consts.PropertyDeviceID, DeviceId }, + }, new Analytics.EventSetting() + { + EnableFirebaseAnalytics = true, + }); + } + + private static void LogFirebaseDeps(bool success) + { + Analytics.Track(EventUnitySDK, new Dictionary() + { + {"firebase_deps", success? "true" : "false"}, }, new Analytics.EventSetting() { EnableFirebaseAnalytics = true, }); } - #endregion } diff --git a/Runtime/Code/SDK/GuruSDK.Callback.cs b/Runtime/Code/SDK/GuruSDK.Callback.cs index 5c352e6..3c7911c 100644 --- a/Runtime/Code/SDK/GuruSDK.Callback.cs +++ b/Runtime/Code/SDK/GuruSDK.Callback.cs @@ -158,6 +158,17 @@ namespace Guru } + + public static class SDK + { + internal static Action _onFirebaseReady; + public static event Action OnFirebaseReady + { + add => _onFirebaseReady += value; + remove => _onFirebaseReady -= value; + } + } + } diff --git a/Runtime/Code/SDK/GuruSDK.cs b/Runtime/Code/SDK/GuruSDK.cs index db5e88e..f3f4754 100644 --- a/Runtime/Code/SDK/GuruSDK.cs +++ b/Runtime/Code/SDK/GuruSDK.cs @@ -127,13 +127,15 @@ namespace Guru //---- Init All tools ---- LogI($"#2 --- InitFirebase ---"); //---------- Start Firebase ------------ - FirebaseUtil.InitFirebase(OnFirebaseReady); // 确保所有的逻辑提前被调用到 + FirebaseUtil.onInitComplete += OnFirebaseReady; + FirebaseUtil.InitFirebase(null); // 确保所有的逻辑提前被调用到 LogI($"#2.1 --- InitFacebook ---"); //---------- Start Facebook ------------ FBService.Instance.StartService(); LogI($"#2.2 --- Call SDK init complete -> callback: { (_onCompleteCallback == null ? "Null" : _onCompleteCallback.ToString()) } ---"); + IsInitialSuccess = true; _onCompleteCallback?.Invoke(true); } @@ -141,13 +143,13 @@ namespace Guru /// /// 开始各种组件初始化 /// - private void OnFirebaseReady() + private void OnFirebaseReady(bool success) { - LogI($"#3 --- On FirebaseReady ---"); - IsInitialSuccess = true; - - if(!string.IsNullOrEmpty(IPMConfig.IPM_UID)) SetUID(IPMConfig.IPM_UID); ; - + FirebaseUtil.onInitComplete -= OnFirebaseReady; + LogI($"#3 --- On FirebaseDeps:{success} ---"); + Callbacks.SDK._onFirebaseReady?.Invoke(success); + LogFirebaseDeps(success); + LogI($"#3.5 --- Call InitRemoteConfig ---"); // 开始Remote Manager初始化 RemoteConfigManager.Init(BuildDefaultRemoteData(_initConfig.DefaultRemoteData));