update: 更新 Product 接口, 返回本地化价格数据

feature/Inventory
胡宇飞 2024-01-29 14:42:07 +08:00
parent 8a20783844
commit 3c2e68a6b8
2 changed files with 19 additions and 3 deletions

View File

@ -210,7 +210,7 @@ namespace Guru
if (_products.ContainsKey(item.definition.id)) if (_products.ContainsKey(item.definition.id))
{ {
_products[item.definition.id].Product = item; _products[item.definition.id].SetProduct(item);
} }
} }
@ -586,7 +586,19 @@ namespace Guru
// 失败原因 // 失败原因
OnBuyFailed?.Invoke(info.Name, failureReason.ToString()); OnBuyFailed?.Invoke(info.Name, failureReason.ToString());
} }
/// <summary>
/// 获取商品的本地化价格字符串
/// 如果商品不存在或者 IAP 尚未初始化完成则显示 "Loading" 字样
/// </summary>
/// <param name="productName"></param>
/// <returns></returns>
public string GetLocalizedPriceString(string productName)
{
return GetInfo(productName)?.LocalizedPriceString ?? "Loading";
}
#endregion #endregion
#region Log 输出 #region Log 输出

View File

@ -66,8 +66,11 @@ namespace Guru
[Serializable] [Serializable]
public partial class ProductInfo public partial class ProductInfo
{ {
private Product _product;
public ProductSetting Setting; public ProductSetting Setting;
public Product Product; public Product Product => _product;
public void SetProduct(Product product) => _product = product;
public string Name => Setting.ProductName; public string Name => Setting.ProductName;
public string Id => Product.definition.id; public string Id => Product.definition.id;
@ -76,6 +79,7 @@ namespace Guru
public string Category => Setting.Category; public string Category => Setting.Category;
public string Type => Setting.Type == ProductType.Subscription ? "subscription" : "product"; public string Type => Setting.Type == ProductType.Subscription ? "subscription" : "product";
public bool IsFree => Setting.IsFree; public bool IsFree => Setting.IsFree;
public string LocalizedPriceString => Product?.metadata.localizedPriceString ?? $"$ {Setting.Price}";
} }