我正在尝试适用于 Android 和 iOS 的 Unity IAP,通过“IAP 按钮”脚本我连接了一个打印产品价格的文本组件,但我无法打印货币,例如欧元或美元。我还考虑过编写一个脚本来确定用户的区域,但从文档中我找到了该组件:
product.metadata.localizedPriceString;
它应该自动返回货币。问题是我无法在不遇到空异常错误的情况下实现此方法。有人能给我一个这个工作代码的例子吗?谢谢大家的帮助。
我还附上了应该返回值的代码行,但没有任何反应。 (我指定我已经创建了该产品并测试了 IAP,它可以正常工作)。
private string price_Symbol;
public Text priceSymbol;
IStoreController m_storeController;
Product product;
string productId;
private void Start()
{
productId = "product_test";
product = m_storeController.products.WithStoreSpecificID(productId);
symbol();
}
public string symbol()
{
price_Symbol = product.metadata.localizedPriceString;
Debug.Log($"price_Symbol: {price_Symbol}");
return price_Symbol;
}
price_Symbol = product.metadata.localizedPriceString;
行是这样写的吗?根据 docs,localizedPriceString
返回 string
,但您将结果直接分配给 Text
组件。
如果
Text priceSymbol
在您的检查器中正确分配,那么 price_Symbol.text = product.metadata.localizedPriceString;
应该按预期工作。