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