如何动态获取InApp购买价格等级?

时间:2013-05-06 06:11:47

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

我正在使用一个应用程序,我正在使用5耗材应用内购买。

按钮上有InApp Price。

- 我不想静态设置In App的值(例如$ 0.99,$ 1.99等等)。

- 我希望我的按钮上的价格动态显示在iTunes商店中。

是否可以从iTunes的InApp获取Price Tier并显示?

2 个答案:

答案 0 :(得分:6)

您可以通过以下方式请求可用的SKProduct列表

self.productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:self.productIdentifiers];
self.productsRequest.delegate = self;
[self.productsRequest start];

您需要实施SKProductsRequestDelegate。这有一个方法可以返回一个带有SKProduct s的数组。在具有上述代码的类中。

然后你需要一个像这样的方法:

- (NSString*)localizedFormattedPrice:(SKProduct*)product
{
    NSString*          formattedString;
    NSNumberFormatter* numberFormatter;

    numberFormatter = [[NSNumberFormatter alloc] init];
    [numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
    [numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
    [numberFormatter setLocale:product.priceLocale];

    formattedString = [numberFormatter stringFromNumber:@(product.price)];

    return formattedString;
}

答案 1 :(得分:2)

NSNumberFormatter * _priceFormatter;

_priceFormatter = [[NSNumberFormatter alloc] init];
[_priceFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[_priceFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];

[_priceFormatter setLocale:product.priceLocale];
priceLabel.text = [_priceFormatter stringFromNumber:product.price];