8

復元ボタンがあります。問題は、彼らが復元を行っておらず、アイテムを購入しようとしていて、そのアイテムを既に購入している場合、私は彼らがすでに購入しており、購入を実行しないことを伝える必要がある. そのため、復元を行わずに、どのアイテムを購入したかを知る方法が必要です。ユーザーが購入しようとするたびに、最初に復元を試みましたが、アップルは私のアプリを拒否しました。彼らは、アプリ内購入の確認ダイアログが表示される前に復元を行うことはできないと述べました。

正しい方法を見つけるのを手伝ってください。

前もって感謝します。

4

3 に答える 3

6

これらのデータはNSUserDefaultsに保持できます。また、アイテムが既に購入されていることを示すアラートを表示する必要はありません。非消耗品の場合、Apple はすでにそのアイテムを購入したというアラートを表示しています!

編集:

1) ビューに 3 つのボタンを追加する必要があります

  • 購入ボタン
  • 復元ボタン
  • デモ版

アプリでアプリ内購入をサポートしている場合は、ユーザーに復元オプションを提供する必要があります。そうしないと、Apple はアプリを拒否します。

2) ユーザーが購入ボタンを押した場合、ユーザーが既にアプリを購入しているかどうかを確認しないでください。Apple が同じ非消耗品に対してユーザーに 2 回請求することはないからです。購入コードを調べて、ユーザーが既に購入している場合は、Apple の StoreKit フレームワークがデリゲート メソッドを呼び出します。

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

SKPaymentTransactionStatePurchased

取引状態。そのため、彼にログイン画面を提示できます。

3) ユーザーが復元ボタンを押した場合は、復元コードを実行するだけです

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

2 番目のステップと同様に、同じトランザクション状態でデリゲート メソッドを呼び出します。したがって、ログインページをユーザーに提示できます。

4) ユーザーがデモ版ボタンを押すと、デモ版が提示されます。

5) ユーザーがあなたのアプリを購入した場合、それを削除し、再インストールした場合は、そのユーザーを新しいユーザーとして扱います。これらの 3 つのボタンを提示すると、ユーザーは購入を復元でき、ログイン ページを提示できます。

6) アプリが正確なデバイスで購入されたかどうかを本当に追跡する必要がある場合は、キーチェーンを使用してデータを保存できます。これは、アプリがアンインストールまたは削除されてもキーチェーン アイテムが削除されないためです。この Api は多くのリンクに役立ちます。

また

キーチェーン データに関するApple のドキュメントを参照できます。

于 2013-05-06T12:50:14.197 に答える