diff --git a/Runtime/Code/Model/GuruSDKModel.cs b/Runtime/Code/Model/GuruSDKModel.cs index de32c2b..91d1a1c 100644 --- a/Runtime/Code/Model/GuruSDKModel.cs +++ b/Runtime/Code/Model/GuruSDKModel.cs @@ -30,7 +30,8 @@ namespace Guru public int b_level = 0; public int b_play = 0; public int buy_count = 0; - + public bool is_iap_user = false; + public List purchased; //-------------- data --------------- @@ -91,14 +92,27 @@ namespace Guru _uid.Value = value; } } - - public bool IsIAPUser => PurchasedCount > 0; - + + public bool IsIapUser + { + get + { + if(_isIapUser == null) InitProperties(); + return _isIapUser.Value; + } + set + { + if(_isIapUser == null) InitProperties(); + _isIapUser.Value = value; + } + } + private BindableProperty _successLevel; private BindableProperty _totalPlayed; private BindableProperty _purchasedCount; private BindableProperty _uid; + private BindableProperty _isIapUser; public BindableProperty PropBLevel => _successLevel; public BindableProperty PropBPlay => _totalPlayed; @@ -146,6 +160,7 @@ namespace Guru _totalPlayed = new BindableProperty(b_play, OnPlayedChanged); _purchasedCount = new BindableProperty(buy_count, OnPurchasedNumChanged); _uid = new BindableProperty(uid, OnUidChanged); + _isIapUser = new BindableProperty(is_iap_user, OnIsIapUserChanged); purchased = new List(20); } @@ -190,6 +205,12 @@ namespace Guru uid = value; Save(); } + + private void OnIsIapUserChanged(bool value) + { + is_iap_user = value; + Save(); + } #endregion #region 启动配置 diff --git a/Runtime/Code/SDK/GuruSDK.Analytics.cs b/Runtime/Code/SDK/GuruSDK.Analytics.cs index b0204f2..b151504 100644 --- a/Runtime/Code/SDK/GuruSDK.Analytics.cs +++ b/Runtime/Code/SDK/GuruSDK.Analytics.cs @@ -243,7 +243,7 @@ namespace Guru return; } - SetUserIsIAP(Model.IsIAPUser); // 预先设置用户的 IAP User 属性 + SetUserIsIAP(Model.IsIapUser); // 预先设置用户的 IAP User 属性 SetUserBLevel(Model.SuccessLevelId); // 预先设置用户的 BLevel 属性 SetUserBPlay(Model.TotalPlayedCount); // 预先设置用户的 BPlay 属性 } diff --git a/Runtime/Code/SDK/GuruSDK.cs b/Runtime/Code/SDK/GuruSDK.cs index a77a38d..17cac1c 100644 --- a/Runtime/Code/SDK/GuruSDK.cs +++ b/Runtime/Code/SDK/GuruSDK.cs @@ -368,7 +368,7 @@ namespace Guru Try(() => { LogI($"#4.4 --- Start Keywords ---"); - KeywordsManager.Install(Model.IsIAPUser, Model.SuccessLevelId); // 启动Keyword管理器 + KeywordsManager.Install(Model.IsIapUser, Model.SuccessLevelId); // 启动Keyword管理器 }, ex => { UnityEngine.Debug.LogError($"--- ERROR on Keywords: {ex.Message}");