如何使用 IAP 在不同国家/地区以适当的货币显示价格
How to show the price in proper currency in different country with IAP
这意味着当人们要在我的游戏中购买东西时,我应该在他们点击 "buy" 按钮之前先向他们展示物品的价格,但是在不同的国家我们需要使用不同的货币,如果用户在美国,他应该看到价格是 0.99 美元,而在另一个国家我应该向他们展示他们当地的货币和价格,那么我如何在我的项目中用代码来做到这一点。
对不起,我是新手IOS,所以真的希望得到你的帮助,非常感谢
从 Apple 获得产品后,您可以从 SKProduct
- https://developer.apple.com/library/ios/documentation/StoreKit/Reference/SKProduct_Reference/#//apple_ref/occ/instp/SKProduct/price 中获得以当地货币表示的 price
- 然后您可以在您的购买界面.
更多详细信息(包括带格式的代码示例):http://bendodson.com/weblog/2014/12/10/skproduct-localized-price-in-swift/
这是满足您需求的 Objective C 解决方案 - 您可以 include Objective C Header into your swift project 并使用它。
- (NSString *) getLocalizedCurrencyString : (NSNumber *) amount :(NSLocale *)priceLocale
{
NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];
[currencyFormatter setLocale:priceLocale];
[currencyFormatter setMaximumFractionDigits:2];
[currencyFormatter setMinimumFractionDigits:2];
[currencyFormatter setAlwaysShowsDecimalSeparator:YES];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
NSString *localizedCurrency = [currencyFormatter stringFromNumber:amount];
return localizedCurrency;
}
用法:
let priceLocale: NSLocale = product.priceLocale as NSLocale
let price: NSString = IAPHelper.sharedInstance().getLocalizedCurrencyString(product.price, priceLocale)
其中 IAPHelper
是持有 IAP 代码的 Objective C class。
这意味着当人们要在我的游戏中购买东西时,我应该在他们点击 "buy" 按钮之前先向他们展示物品的价格,但是在不同的国家我们需要使用不同的货币,如果用户在美国,他应该看到价格是 0.99 美元,而在另一个国家我应该向他们展示他们当地的货币和价格,那么我如何在我的项目中用代码来做到这一点。 对不起,我是新手IOS,所以真的希望得到你的帮助,非常感谢
从 Apple 获得产品后,您可以从 SKProduct
- https://developer.apple.com/library/ios/documentation/StoreKit/Reference/SKProduct_Reference/#//apple_ref/occ/instp/SKProduct/price 中获得以当地货币表示的 price
- 然后您可以在您的购买界面.
更多详细信息(包括带格式的代码示例):http://bendodson.com/weblog/2014/12/10/skproduct-localized-price-in-swift/
这是满足您需求的 Objective C 解决方案 - 您可以 include Objective C Header into your swift project 并使用它。
- (NSString *) getLocalizedCurrencyString : (NSNumber *) amount :(NSLocale *)priceLocale
{
NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];
[currencyFormatter setLocale:priceLocale];
[currencyFormatter setMaximumFractionDigits:2];
[currencyFormatter setMinimumFractionDigits:2];
[currencyFormatter setAlwaysShowsDecimalSeparator:YES];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
NSString *localizedCurrency = [currencyFormatter stringFromNumber:amount];
return localizedCurrency;
}
用法:
let priceLocale: NSLocale = product.priceLocale as NSLocale
let price: NSString = IAPHelper.sharedInstance().getLocalizedCurrencyString(product.price, priceLocale)
其中 IAPHelper
是持有 IAP 代码的 Objective C class。