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
/// <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)
{
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
/// <param name="purchaseCallback"></param>
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))
{
@ -183,11 +213,17 @@ namespace Guru
#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)
{
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