2012-01-17 11 views
0

アプリ内購入を初めて利用しました。私は正常に実装し、ユーザーが私たちのアプリ内で購入することができるようにコードをテストしている。アプリ起動時のアプリ内購入チェック

ユーザーが自分のアプリボタンを購入すると、ロックされたすべての機能のロックを解除できるように、アプリでNSUserDefaults変数をTRUEに設定するのですか?意味NSUserDefaultsがTRUEであるかどうかをチェックし、より多くのものを表示します。

これは最善のアプローチですか?私が気づいたことは、同じIDを持つ複数のリンゴ製品(iphone/ipads)があり、購入したアプリがクラウドを介して他のデバイスに移動した場合、購入アイテムボタンを再度クリックして機能をロック解除する必要があるそれらの他のアプリで。 (私はNSUserDefaults変数をローカルに設定するので、購入が成功した場合やTRUEに設定されている場合)、ユーザーがボタンをもう一度クリックするのは面倒ですが、二重請求はしません。

私は取ることができるより良いアプローチはありますか?

OR

私がTRUEに購入NSUserDefaultsを設定することができるように、彼は起動時にそのアプリを購入した場合、私は確認することができ、コード内の方法があります。

答えて

1

restoreCompletedTransactionsメソッドをSKPaymentQueueとすると、以前購入したすべての購入を復元できます。ただし、この方法では、Apple IDとパスワードを入力するためのアラートがユーザーに表示されます。だからあなたは打ち上げ時にそれを使うべきではありません。代わりに、ユーザーが購入を復元するためにタップできるボタンを表示します。