diff --git a/Runtime/Code/SDK/GuruSDK.Ads.cs b/Runtime/Code/SDK/GuruSDK.Ads.cs index cb3e154..65aeb4a 100644 --- a/Runtime/Code/SDK/GuruSDK.Ads.cs +++ b/Runtime/Code/SDK/GuruSDK.Ads.cs @@ -137,15 +137,18 @@ namespace Guru private static void CheckAttStatus(bool autoReCall = false) { _autoReCallAtt = autoReCall; - ATTManager.CheckStatus(ReportAttStatus); + + // Delay 1s to get the user choice + Delay(1, () => ATTManager.CheckStatus(ReportAttStatus)); } private static void ReportAttStatus(string status) { LogI($"{Tag} --- Get Att status:{status} att Type:{_attType} recall:{_autoReCallAtt}"); SetUserProperty(Analytics.ParameterATTStatus, status); // 当前的状态 - if (!string.IsNullOrEmpty(_initialAttStatus) - && _initialAttStatus != status + + if (!string.IsNullOrEmpty(status) + && status != _initialAttStatus && status != ATTManager.ATT_STATUS_NOT_DETERMINED) { // 上报点位: diff --git a/Runtime/Code/SDK/GuruSDK.Analytics.cs b/Runtime/Code/SDK/GuruSDK.Analytics.cs index abc60e9..e5a7611 100644 --- a/Runtime/Code/SDK/GuruSDK.Analytics.cs +++ b/Runtime/Code/SDK/GuruSDK.Analytics.cs @@ -262,6 +262,27 @@ namespace Guru } + #endregion + + #region SDK 打点 + + /// + /// Log SDK boost time + /// + /// + private static void LogSDKInitTime(double time) + { + Analytics.Track("sdk_init_time", new Dictionary() + { + {"time", time.ToString("F6")}, + {"device_id", DeviceId}, + }, new Analytics.EventSetting() + { + EnableFirebaseAnalytics = true, + }); + } + + #endregion } } \ No newline at end of file diff --git a/Runtime/Code/SDK/GuruSDK.cs b/Runtime/Code/SDK/GuruSDK.cs index 7756933..bc6fd36 100644 --- a/Runtime/Code/SDK/GuruSDK.cs +++ b/Runtime/Code/SDK/GuruSDK.cs @@ -37,9 +37,7 @@ namespace Guru internal static GuruSDKInitConfig InitConfig => Instance._initConfig; internal static GuruSDKModel Model => GuruSDKModel.Instance; private static GuruServicesConfig _appServicesConfig; - private static GuruSettings _guruSettings; - private static GuruSettings GuruSettings { get @@ -50,6 +48,9 @@ namespace Guru } + private static DateTime _initTime; + + private static bool _isDebugEnabled = false; /// /// Debug Mode @@ -102,6 +103,7 @@ namespace Guru public static void Init(GuruSDKInitConfig config, Action onComplete) { + _initTime = DateTime.Now.ToUniversalTime(); LogI($"---- Guru SDK init ----\n{config.ToString()}"); Instance.StartWithConfig(config, onComplete); } @@ -154,6 +156,9 @@ namespace Guru // 根据上次的云控配置来初始化参数 SetupServicesConfig(); + var sp = DateTime.Now.ToUniversalTime() - _initTime; + LogSDKInitTime(sp.TotalSeconds); + _onCompleteCallback?.Invoke(true); } @@ -304,7 +309,11 @@ namespace Guru SetUserBPlay(bplay); } - public static string UID => _model?.UserId ?? ""; + public static string UID => _model?.UserId ?? IPMConfig.IPM_UID; + + public static string DeviceId => IPMConfig.IPM_DEVICE_ID ?? ""; // TODO: change it to _model member later. + + public static string PushToken => IPMConfig.IPM_PUSH_TOKEN ?? ""; // TODO: change it to _model member later. public static string SupportEmail => GuruSettings.SupportEmail ?? ""; @@ -449,9 +458,9 @@ namespace Guru /// /// /// - public static void Delay(float seconds, Action callback) + public static Coroutine Delay(float seconds, Action callback) { - DoCoroutine(Instance.OnDelayCall(seconds, callback)); + return DoCoroutine(Instance.OnDelayCall(seconds, callback)); } private IEnumerator OnDelayCall(float delay, Action callback)