update: 更新生命周期和对应的逻辑
parent
bb4073aa2f
commit
b1bf57cbed
|
|
@ -54,6 +54,7 @@ namespace Guru
|
|||
//-------------------------------- Parameters --------------------------------
|
||||
public double Tch02Value() => parameters?.tch_020 ?? 0;
|
||||
public bool IsAppReview() => parameters?.apple_review ?? false;
|
||||
public bool EnableErrorLog() => parameters?.enable_errorlog ?? false;
|
||||
public bool DMACountryCheck() => parameters?.dma_country_check ?? false;
|
||||
public string DMAMapRule() => parameters?.dma_map_rule ?? "";
|
||||
public bool UseUUID() => parameters?.using_uuid ?? false;
|
||||
|
|
@ -93,6 +94,7 @@ namespace Guru
|
|||
public string dma_map_rule = "";
|
||||
public bool dma_country_check = false;
|
||||
public bool apple_review = false; // 苹果审核标志位
|
||||
public bool enable_errorlog = false;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
|
|
|
|||
|
|
@ -47,10 +47,7 @@ namespace Guru
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
private static DateTime _initTime;
|
||||
|
||||
|
||||
private static bool _isDebugEnabled = false;
|
||||
/// <summary>
|
||||
/// Debug Mode
|
||||
|
|
@ -104,7 +101,7 @@ namespace Guru
|
|||
public static void Init(GuruSDKInitConfig config, Action<bool> onComplete)
|
||||
{
|
||||
_initTime = DateTime.Now.ToUniversalTime();
|
||||
LogI($"---- Guru SDK init ----\n{config.ToString()}");
|
||||
LogI($"#1 ---- Guru SDK init ----\n{config.ToString()}");
|
||||
Instance.StartWithConfig(config, onComplete);
|
||||
}
|
||||
|
||||
|
|
@ -123,25 +120,21 @@ namespace Guru
|
|||
_initConfig = config;
|
||||
_onCompleteCallback = onComplete;
|
||||
_isDebugEnabled = config.DebugMode;
|
||||
GuruRepoter.Install(); // Install Crashlytics Logger
|
||||
|
||||
bool isDebug = false;
|
||||
#if DEBUG
|
||||
isDebug = true;
|
||||
#endif
|
||||
Analytics.InstallGuruAnalytics(isDebug); // 提前初始化 GuruAnalytics
|
||||
//--- 之后的逻辑放在 Start 方法内 ---
|
||||
}
|
||||
|
||||
void Start()
|
||||
{
|
||||
//---- Init All tools ----
|
||||
LogI($"--- InitFirebase ---");
|
||||
LogI($"#2 --- InitFirebase ---");
|
||||
//---------- Start Firebase ------------
|
||||
FirebaseUtil.InitFirebase(OnFirebaseReady);
|
||||
// FirebaseUtil.OnFetchRemoteSuccess+= OnFetchRemoteCallback;
|
||||
FirebaseUtil.InitFirebase(OnFirebaseReady); // 确保所有的逻辑提前被调用到
|
||||
|
||||
LogI($"#2.1 --- InitFacebook ---");
|
||||
//---------- Start Facebook ------------
|
||||
FBService.Instance.StartService();
|
||||
|
||||
LogI($"#2.2 --- Call SDK init complete -> callback: { (_onCompleteCallback == null ? "Null" : _onCompleteCallback.ToString()) } ---");
|
||||
_onCompleteCallback?.Invoke(true);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -150,28 +143,21 @@ namespace Guru
|
|||
/// </summary>
|
||||
private void OnFirebaseReady()
|
||||
{
|
||||
LogI($"--- OnFirebaseReady ---");
|
||||
LogI($"#3 --- On FirebaseReady ---");
|
||||
IsInitialSuccess = true;
|
||||
|
||||
if(!string.IsNullOrEmpty(IPMConfig.IPM_UID)) SetUID(IPMConfig.IPM_UID);
|
||||
LogI($"--- UID:{IPMConfig.IPM_UID} ---");
|
||||
if(!string.IsNullOrEmpty(IPMConfig.IPM_UID)) SetUID(IPMConfig.IPM_UID); ;
|
||||
|
||||
LogI($"--- Init RemoteConfig ---");
|
||||
LogI($"#3.5 --- Call InitRemoteConfig ---");
|
||||
// 开始Remote Manager初始化
|
||||
RemoteConfigManager.Init(BuildDefaultRemoteData(_initConfig.DefaultRemoteData));
|
||||
RemoteConfigManager.OnFetchCompleted += OnFetchRemoteCallback;
|
||||
|
||||
// 延迟执行 SDK 回调
|
||||
// Delay(0, () =>
|
||||
// {
|
||||
LogI($"--- SDK Init Complete -> Callback: { (_onCompleteCallback == null ? "Null" : "NotNull") } ---");
|
||||
_onCompleteCallback?.Invoke(true);
|
||||
// });
|
||||
|
||||
LogI($"--- Apply online services config ---");
|
||||
// 根据上次的云控配置来初始化参数
|
||||
SetupServicesConfig();
|
||||
LogI($"#4 --- Apply remote services config ---");
|
||||
// 根据缓存的云控配置来初始化参数
|
||||
InitAllServices();
|
||||
|
||||
LogI($"#5 --- sync sdk time ---");
|
||||
var sp = DateTime.Now.ToUniversalTime() - _initTime;
|
||||
LogSDKInitTime(sp.TotalSeconds);
|
||||
}
|
||||
|
|
@ -198,7 +184,7 @@ namespace Guru
|
|||
/// <param name="success"></param>
|
||||
private void OnFetchRemoteCallback(bool success)
|
||||
{
|
||||
LogI($"--- Remote fetch complete: {success} ---");
|
||||
LogI($"#6 --- Remote fetch complete: {success} ---");
|
||||
ABTestManager.Init(); // 启动AB测试解析器
|
||||
Callbacks.Remote._onRemoteFetchComplete?.Invoke(success);
|
||||
}
|
||||
|
|
@ -210,7 +196,7 @@ namespace Guru
|
|||
/// <summary>
|
||||
/// Apply Cloud guru-service configs for sdk assets
|
||||
/// </summary>
|
||||
private void SetupServicesConfig()
|
||||
private void InitAllServices()
|
||||
{
|
||||
bool useKeywords = false;
|
||||
bool useIAP = true;
|
||||
|
|
@ -226,9 +212,13 @@ namespace Guru
|
|||
|
||||
Try(() =>
|
||||
{
|
||||
LogI($"--- Init apply services ---");
|
||||
//--------------------------------
|
||||
LogI($"#4.1 --- Init apply services ---");
|
||||
//----------------------------------------------------------------
|
||||
|
||||
// 自打点设置错误上报
|
||||
GuruAnalytics.EnableErrorLog = _appServicesConfig.EnableErrorLog();
|
||||
|
||||
// adjust 事件设置
|
||||
if (null != _appServicesConfig.adjust_settings && null != GuruSettings)
|
||||
{
|
||||
// 更新 Adjust Tokens
|
||||
|
|
@ -239,6 +229,8 @@ namespace Guru
|
|||
GuruSettings.UpdateAdjustEvents(_appServicesConfig.adjust_settings.events);
|
||||
}
|
||||
|
||||
LogI($"#4.2 --- Init GuruSttings ---");
|
||||
// GuruSettings 设置
|
||||
if (null != _appServicesConfig.app_settings)
|
||||
{
|
||||
if (_appServicesConfig.Tch02Value() > 0)
|
||||
|
|
@ -251,6 +243,9 @@ namespace Guru
|
|||
if (_appServicesConfig.UseUUID())
|
||||
{
|
||||
IPMConfig.UsingUUID = true; // 开始使用 UUID 作为 DeviceID 标识
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
#if UNITY_IOS
|
||||
|
|
@ -285,7 +280,7 @@ namespace Guru
|
|||
// InitIAP(_initConfig.GoogleKeys, _initConfig.AppleRootCerts); // 初始化IAP
|
||||
Try(() =>
|
||||
{
|
||||
LogI($"--- Init IAP ---");
|
||||
LogI($"#4.3 --- Init IAP ---");
|
||||
InitIAP(_initConfig.GoogleKeys, _initConfig.AppleRootCerts); // 初始化IAP
|
||||
}, ex =>
|
||||
{
|
||||
|
|
@ -299,7 +294,7 @@ namespace Guru
|
|||
// KeywordsManager.Install(Model.IsIAPUser, Model.SuccessLevelCount); // 启动Keyword管理器
|
||||
Try(() =>
|
||||
{
|
||||
LogI($"--- Init Keywords ---");
|
||||
LogI($"#4.4 --- Init Keywords ---");
|
||||
KeywordsManager.Install(Model.IsIAPUser, Model.SuccessLevelCount); // 启动Keyword管理器
|
||||
}, ex =>
|
||||
{
|
||||
|
|
@ -313,7 +308,7 @@ namespace Guru
|
|||
// StartAppleReviewFlow(); // 直接显示 ATT 弹窗, 跳过 Consent 流程
|
||||
Try(() =>
|
||||
{
|
||||
LogI($"--- StartAppleReviewFlow ---");
|
||||
LogI($"#4.5.0 --- StartAppleReviewFlow ---");
|
||||
StartAppleReviewFlow(); // 直接显示 ATT 弹窗, 跳过 Consent 流程
|
||||
}, ex =>
|
||||
{
|
||||
|
|
@ -328,7 +323,7 @@ namespace Guru
|
|||
// StartConsentFlow();
|
||||
Try(() =>
|
||||
{
|
||||
LogI($"--- #1. StartConsentFlow ---");
|
||||
LogI($"#4.5 --- StartConsentFlow ---");
|
||||
StartConsentFlow();
|
||||
}, ex =>
|
||||
{
|
||||
|
|
@ -452,7 +447,7 @@ namespace Guru
|
|||
/// <param name="message"></param>
|
||||
public static void Report(string message)
|
||||
{
|
||||
GuruRepoter.Log(message);
|
||||
Analytics.LogCrashlytics(message, false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -461,7 +456,7 @@ namespace Guru
|
|||
/// <param name="message"></param>
|
||||
public static void ReportException(string message)
|
||||
{
|
||||
GuruRepoter.LogException(message);
|
||||
Analytics.LogCrashlytics(message);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -470,7 +465,7 @@ namespace Guru
|
|||
/// <param name="ex"></param>
|
||||
public static void ReportException(Exception ex)
|
||||
{
|
||||
GuruRepoter.LogException(ex);
|
||||
Analytics.LogCrashlytics(ex);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
|||
Loading…
Reference in New Issue