私はこのアプリ内購入チュートリアルを読んでいます:
http://www.raywenderlich.com/21081/introduction-to-in-app-purchases-in-ios-6-tutorial
購入するには、次のことを行う必要があります。
SKProduct* product = ...;
SKPayment* payment = [SKPayment paymentWithProduct:product];
[[SKPaymentQueue defaultQueue] addPayment:payment];
メソッドSKProduct
に渡すにはのインスタンスが必要なようです。addPayment:
これは、ユーザーがアプリを開くたびに、アプリが提供する製品のリストをアプリストアから取得する必要があることを意味しますか?
私の場合、ハードコードされた製品IDのリストがあります。SKProduct
人々がインスタンスのリストを一度フェッチしてから、それらをディスクにキャッシュするのではないかと思います。その後、アプリに商品を追加するまで、再フェッチは必要ありません。ただし、ローカライズされた価格のような動的属性はキャッシュを妨げると思います。
では、アプリを実行するたびに商品リストを再取得するのが一般的ですか?
ありがとう