diff --git a/Runtime/Code/SDK/GuruSDK.Callback.cs b/Runtime/Code/SDK/GuruSDK.Callback.cs index 3a6c280..1d2d5e6 100644 --- a/Runtime/Code/SDK/GuruSDK.Callback.cs +++ b/Runtime/Code/SDK/GuruSDK.Callback.cs @@ -127,6 +127,13 @@ namespace Guru /// public static class IAP { + internal static Action _onIAPInitStart; + public static event Action OnIAPInitStart + { + add => _onIAPInitStart += value; + remove => _onIAPInitStart -= value; + } + internal static Action _onIAPInitComplete; public static event Action OnIAPInitComplete { @@ -141,6 +148,13 @@ namespace Guru remove => _onPurchaseStart -= value; } + internal static Action _onPurchaseEnd; + public static event Action OnPurchaseEnd + { + add => _onPurchaseEnd += value; + remove => _onPurchaseEnd -= value; + } + internal static Action _onPurchaseFailed; public static event Action OnPurchaseFailed { diff --git a/Runtime/Code/SDK/GuruSDK.IAP.cs b/Runtime/Code/SDK/GuruSDK.IAP.cs index 39b68fd..b6c5591 100644 --- a/Runtime/Code/SDK/GuruSDK.IAP.cs +++ b/Runtime/Code/SDK/GuruSDK.IAP.cs @@ -19,6 +19,7 @@ namespace Guru public const string BuyFail_Unknown = "Unknown"; + #region Init /// /// 初始化IAP 功能 @@ -32,10 +33,11 @@ namespace Guru GuruIAP.Instance.OnBuyFailed += OnBuyFailed; GuruIAP.Instance.OnGetProductReceipt += OnGetReceipt; + Callbacks.IAP._onIAPInitStart?.Invoke(); // 初始化之前进行调用 + GuruIAP.Instance.InitWithKeys(googleKey, appleRootCerts, IsDebugMode); } - - + /// /// 初始化结果 /// @@ -59,6 +61,8 @@ namespace Guru return true; } + #endregion + #region Data /// @@ -180,6 +184,7 @@ namespace Guru private static void OnBuyEnd(string productName, bool success) { _onPurchaseCallback?.Invoke(productName, success); + Callbacks.IAP._onPurchaseEnd?.Invoke(productName, success); } /// @@ -241,19 +246,6 @@ namespace Guru #endregion - #region Buy NoAds - - /// - /// 设置购买去广告道具的标志位 - /// - /// - public static void SetBuyNoAds(bool value = true) - { - ADService.Instance.IsBuyNoAds = value; - } - - - #endregion } } \ No newline at end of file diff --git a/Runtime/Code/SDK/GuruSDK.Properties.cs b/Runtime/Code/SDK/GuruSDK.Properties.cs index 0828822..1f5471f 100644 --- a/Runtime/Code/SDK/GuruSDK.Properties.cs +++ b/Runtime/Code/SDK/GuruSDK.Properties.cs @@ -31,9 +31,7 @@ namespace Guru public static string AppVersionCode => GuruAppVersion.code; public static string AppVersionString => GuruAppVersion.ToString(); - - - + private static GuruAppVersion _appVersion; private static GuruAppVersion GuruAppVersion { @@ -44,6 +42,35 @@ namespace Guru } } + + /// + /// 设置购买去广告道具的标志位 + /// + /// + public static void SetBuyNoAds(bool value = true) + { + ADService.Instance.IsBuyNoAds = value; + } + + /// + /// 所有成功的主线关卡数量 (b_level) + /// + public static int SuccessLevelCount + { + get => GuruSDKModel.Instance.SuccessLevelCount; + set => GuruSDKModel.Instance.SuccessLevelCount = value; + } + + /// + /// 成功关卡总计数量 (b_play) + /// + public static int TotalPlayedCount + { + get => GuruSDKModel.Instance.TotalPlayedCount; + set => GuruSDKModel.Instance.TotalPlayedCount = value; + } + + } diff --git a/Runtime/Code/SDK/GuruSDK.cs b/Runtime/Code/SDK/GuruSDK.cs index f1b9297..ac9dcc5 100644 --- a/Runtime/Code/SDK/GuruSDK.cs +++ b/Runtime/Code/SDK/GuruSDK.cs @@ -201,7 +201,7 @@ namespace Guru private void InitAllServices() { bool useKeywords = false; - bool useIAP = true; + bool useIAP = _initConfig.IAPEnabled; bool appleReview = false; var services = GetRemoteServicesConfig();