3

アプリ内購入用にさまざまな価格帯でセットアップされた製品の膨大なカタログがあるとします。商品は複数の地域で販売されるため、価格を正しい通貨で表示する必要があります。

特定の国 (もちろん、ユーザーの iTunes アカウントの国) で特定の価格帯の金銭的価値を (iTunes から) 要求できる方法はありますか?

現在、これを行う唯一の方法は、特定の価格帯の製品の最初の出現について製品情報要求をアップルに送信し、この結果を保存することです。

副次的な質問として、サーバーを使用して通貨/階層の組み合わせの価格を返すことができることは知っていますが、Apple がアプリ内価格を微調整する可能性について懸念しています。それが起こる可能性はありますか?

4

2 に答える 2

1

SKProductの価格プロパティの処理については、ドキュメントを確認してください。それを行うサンプル コードがあります。


5年経っても古くならないリンクからのコード:(Swift 3.0とスタイルに軽く適応):

スイフト3.0

    let numberFormatter = NumberFormatter()

    numberFormatter.formatterBehavior = .behavior10_4
    numberFormatter.numberStyle = .currency
    numberFormatter.locale = someProduct.priceLocale

    let formattedString = numberFormatter.string(from: someProduct.price)

オブジェクティブ C

    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];

    [numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
    [numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
    [numberFormatter setLocale:product.priceLocale];

    NSString *formattedString = [numberFormatter stringFromNumber:product.price];

最後に 1 つ:NumberFormatterオブジェクトは (時間とリソースの点で) コストがかかるため、頻繁に使用することが予想される場合は、オブジェクトをどこかにキャッシュすることを検討してください。

于 2012-05-16T17:07:52.423 に答える