2

我正在尝试为我们自己在 appstore 中的其他应用之一创建自定义“广告”。一切都运行良好,但在我们现在正在编写的广告中,NSLog(@"For only $0.99"); 如何根据本地“登录”应用商店将此变量设为变量?我想它应该看起来像这样:

NSString *price = [something localPriceForTier:1];
NSLog(@"For only %@", price);

它会根据我发送的价格等级为 1 来说明用户所在的货币和价值是什么。我想我以前见过这样的应用程序,但我不知道要搜索什么.

4

2 回答 2

2

据我所知,Store Kit 没有任何要求通用价格等级的功能。您必须询问您的一种产品的当前当地价格。这是一些代码:

- (void) requestProductData
{
    SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers:
            [NSSet setWithObject: yourProductIdentifier]];
    request.delegate = self;
    [request start];
}

回调函数:

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
    NSArray *myProducts = response.products;
    SKProduct *product = [myProducts objectAtIndex:0];
    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
    [numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
    [numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
    [numberFormatter setLocale:product.priceLocale];
    NSString *formattedString = [numberFormatter stringFromNumber:product.price];

    NSLog(@"For only %@", formattedString);
}

The above snippets are explained in detail in the official In-App Purchase Programming Guide: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008267

于 2013-01-24T21:29:21.687 回答
1

该信息不会保存在设备上,如果需要,您必须获取它。因此,您要做的是SKProductsRequest使用适当的产品标识符(您可以从 iTunes Connect 获得)创建一个,等到您的代表获得合适的产品标识符,您可以从中获得适当的产品标识符,您可以SKProductsResponse从那里SKProduct使用priceandpriceLocale与数字格式化程序获取带有适当货币符号的本地价格字符串。文档中有一些示例代码SKProduct

于 2013-01-24T21:25:37.220 回答