如何在iOS中购买InApp中的美元转换率

时间:2013-12-24 12:22:12

标签: ios iphone objective-c in-app-purchase storekit

我目前正在应用中购买InApp,目前我正在关注raywenderlich教程http://www.raywenderlich.com/21081/introduction-to-in-app-purchases-in-ios-6-tutorial,到目前为止,每个人都运作良好。现在的问题是我需要根据product.price从以下函数中进行基于美元的积分计算。目前,这将适用于基于美国市场的帐户,但对于其他货币,我的点的以下日志将显示不同的值。在机器人InApp购买api他们还返回价格以外的microunits所以我们可以使用该microunits转换成美元,我想知道是否有类似的东西在iOS中返回。这个问题有解决方法吗?

- (void)productPurchased:(NSNotification *)notification {

    SKPaymentTransaction *transaction=notification.object;
    NSString * productIdentifier = transaction.payment.productIdentifier;
    [products enumerateObjectsUsingBlock:^(SKProduct * product, NSUInteger idx, BOOL *stop) {
        if ([product.productIdentifier isEqualToString:productIdentifier]) {
            NSLog(@"Current Rate:%@",product.price);
            NSlog(@"My Points:%f" [product.price floatValue]*myPointsFactor);
        }
    }];

}

2 个答案:

答案 0 :(得分:0)

您可以使用pricelocale的“SKProduct”属性。获取区域货币。

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse  *)response {
    NSArray *myProduct = response.products;
    SKProduct *product=myProduct.lastObject;
    NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];

    [currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
    [currencyFormatter setLocale:product.priceLocale];              
    [currencyFormatter stringFromNumber:product.price];  
   }

答案 1 :(得分:0)

查看以前获得货币的答案

正如评论中提到的,该服务于2013年11月关闭。

Googles calulator API可以做到这一点;

请求:

http://www.google.com/ig/calculator?hl=en&q=100EUR=?USD 响应:

{lhs:“100欧元”,rhs:“145.67美元”,错误:“”,icc:true} (更多信息)