update: 更新 IAP 插件接口, 返回商品本地化价格字段

feature/item_system
胡宇飞 2024-01-29 14:37:43 +08:00
parent 6292994bbd
commit c1f4903a0e
1 changed files with 41 additions and 5 deletions

View File

@ -61,6 +61,28 @@ namespace Guru
#region Data #region Data
/// <summary>
/// 获取商品信息
/// </summary>
/// <param name="productName"></param>
/// <returns></returns>
public static ProductInfo GetProductInfo(string productName)
{
return GuruIAP.Instance?.GetInfo(productName) ?? null;
}
/// <summary>
/// 获取商品信息 (提供 ProductId)
/// </summary>
/// <param name="productId"></param>
/// <returns></returns>
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) public static ProductSetting GetProductSettingById(string productId)
{ {
var products = GuruSettings.Instance.Products; var products = GuruSettings.Instance.Products;
@ -71,6 +93,7 @@ namespace Guru
return null; return null;
} }
[Obsolete("Will be discarded in next version. Using GetProductInfo(string productName) instead.")]
public static ProductSetting GetProductSetting(string productName) public static ProductSetting GetProductSetting(string productName)
{ {
var products = GuruSettings.Instance.Products; var products = GuruSettings.Instance.Products;
@ -91,6 +114,13 @@ namespace Guru
return GuruIAP.Instance.IsProductHasReceipt(productName); return GuruIAP.Instance.IsProductHasReceipt(productName);
} }
public static string GetProductLocalizedPriceString(string productName)
{
return GuruIAP.Instance.GetLocalizedPriceString(productName);
}
#endregion #endregion
#region Purchase #region Purchase
@ -118,7 +148,7 @@ namespace Guru
/// <param name="purchaseCallback"></param> /// <param name="purchaseCallback"></param>
public static bool PurchaseById(string productId, Action<string, bool> purchaseCallback = null) public static bool PurchaseById(string productId, Action<string, bool> purchaseCallback = null)
{ {
var productName = GetProductSettingById(productId)?.ProductName ?? ""; var productName = GetProductInfoById(productId)?.Name ?? "";
if (CheckIAPReady() && !string.IsNullOrEmpty(productName)) if (CheckIAPReady() && !string.IsNullOrEmpty(productName))
{ {
@ -183,11 +213,17 @@ namespace Guru
#region Receipt #region Receipt
/// <summary>
/// 获取订单收据
/// </summary>
/// <param name="productId"></param>
/// <param name="receipt"></param>
/// <param name="appleProductIsRestored"></param>
private static void OnGetReceipt(string productId, string receipt, bool appleProductIsRestored = false) private static void OnGetReceipt(string productId, string receipt, bool appleProductIsRestored = false)
{ {
var productName = GetProductSettingById(productId).ProductName; var productName = GetProductInfoById(productId)?.Name ?? "";
Model.AddReceipt(receipt, productName, productId, appleProductIsRestored); if(!string.IsNullOrEmpty(productName))
Model.AddReceipt(receipt, productName, productId, appleProductIsRestored);
} }
#endregion #endregion