diff --git a/Runtime/Code/SDK/GuruSDK.IAP.cs b/Runtime/Code/SDK/GuruSDK.IAP.cs index 9955d8f..6b130aa 100644 --- a/Runtime/Code/SDK/GuruSDK.IAP.cs +++ b/Runtime/Code/SDK/GuruSDK.IAP.cs @@ -61,6 +61,28 @@ namespace Guru #region Data + /// + /// 获取商品信息 + /// + /// + /// + public static ProductInfo GetProductInfo(string productName) + { + return GuruIAP.Instance?.GetInfo(productName) ?? null; + } + + /// + /// 获取商品信息 (提供 ProductId) + /// + /// + /// + public static ProductInfo GetProductInfoById(string productId) + { + return GuruIAP.Instance?.GetInfoById(productId) ?? null; + } + + + [Obsolete("Will be discarded in next version. Using GetProductInfoById(string productId) instead.")] public static ProductSetting GetProductSettingById(string productId) { var products = GuruSettings.Instance.Products; @@ -71,6 +93,7 @@ namespace Guru return null; } + [Obsolete("Will be discarded in next version. Using GetProductInfo(string productName) instead.")] public static ProductSetting GetProductSetting(string productName) { var products = GuruSettings.Instance.Products; @@ -90,7 +113,14 @@ namespace Guru { return GuruIAP.Instance.IsProductHasReceipt(productName); } - + + + public static string GetProductLocalizedPriceString(string productName) + { + return GuruIAP.Instance.GetLocalizedPriceString(productName); + } + + #endregion #region Purchase @@ -118,7 +148,7 @@ namespace Guru /// public static bool PurchaseById(string productId, Action purchaseCallback = null) { - var productName = GetProductSettingById(productId)?.ProductName ?? ""; + var productName = GetProductInfoById(productId)?.Name ?? ""; if (CheckIAPReady() && !string.IsNullOrEmpty(productName)) { @@ -183,11 +213,17 @@ namespace Guru #region Receipt - + /// + /// 获取订单收据 + /// + /// + /// + /// private static void OnGetReceipt(string productId, string receipt, bool appleProductIsRestored = false) { - var productName = GetProductSettingById(productId).ProductName; - Model.AddReceipt(receipt, productName, productId, appleProductIsRestored); + var productName = GetProductInfoById(productId)?.Name ?? ""; + if(!string.IsNullOrEmpty(productName)) + Model.AddReceipt(receipt, productName, productId, appleProductIsRestored); } #endregion