【问题标题】:Get local price for IAP using MKStoreKit使用 MKStoreKit 获取 IAP 的本地价格
【发布时间】:2016-04-22 06:48:21
【问题描述】:

我正在使用 MKStoreKit 进行 IAP。我可以轻松完成所有任务(它简单易用),但我坚持通过 productid 获取本地价格

是否可以在 mkstorekit 中获取当地价格?

如果我将显示产品的本地价格,是否会在审核中产生任何问题?

【问题讨论】:

    标签: ios in-app-purchase mkstorekit


    【解决方案1】:
    //...
    self.productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:_productIdentifiers];
    self.productsRequest.delegate = self;
    [self.productsRequest start];
    //...
    
    - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
        NSLog(@"Loaded list of products...");
        NSArray * skProducts = response.products;
        for (SKProduct *product in skProducts) {
           NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
           [numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
           [numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
           [numberFormatter setLocale:product.priceLocale];
           NSString *formattedPrice = [numberFormatter stringFromNumber:product.price];
           //Use formattedPrice
    
        }
    }
    

    编辑

    如果你正在使用:https://github.com/MugunthKumar/MKStoreKit

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleSKProductsAvailableNotification:) name:kMKStoreKitProductsAvailableNotification object:nil];
    [[MKStoreKit sharedKit] startProductRequest];
    //...
    
    - (void)handleSKProductsAvailableNotification:(NSNotification *)note
    {
        NSArray * skProducts = [MKStoreKit sharedKit].availableProducts; 
        for (SKProduct *product in skProducts) {
           NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
           [numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
           [numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
           [numberFormatter setLocale:product.priceLocale];
           NSString *formattedPrice = [numberFormatter stringFromNumber:product.price];
           //Use formattedPrice
    
        }
    }
    

    【讨论】:

    • 还有一件事......我只想获取单个产品的价格,而不是数组的这个 for 循环,我有产品 ID
    • 嗯,您可以在字典中收集产品的格式化价格,例如 dic = @{product1.productIdentifier : product1Price, product2.productIdentifier : product2Price, ...} ,并通过以下方式获取单个产品的价格dic[产品ID]
    【解决方案2】:

    MKStoreKit 内置了显示产品标题及其本地化价格的功能。

    它具有使用本地化名称、描述和货币格式化产品名称的功能。

    - (NSMutableArray*) purchasableObjectsDescription;
    

    更多详情可以参考:MKStoreKit

    【讨论】:

    • 您是否为 SKProduct 实现此方法:- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse: (SKProductsResponse *)response{};回复将为您提供所有产品列表及其价格和其他详细信息。
    • 好的。因此它将为您提供数组 self.availableProducts 中的所有产品,其中包含产品的所有详细信息,包括价格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 2022-08-03
    • 2020-01-13
    • 1970-01-01
    相关资源
    最近更新 更多