2012-04-24 21 views
0

私のアプリケーションにinapp購入を正常に統合しました。しかし、私は疑念を残して、その状況をどのように処理するかについて調べました。
ユーザーが購入時に購入すると、認証の詳細が表示されます。しかし、何らかの理由で、私はfinishedTransactionメソッドを処理する前に、アプリケーションがクラッシュし、アプリケーションの機能をロック解除します。
次回にアプリを起動すると、購入が成功したかどうかはどのようにわかりますか?iOS - Inapp購入処理のクラッシュ

+0

いくつかのコードを入力すると、クラッシュすることはありません。 – Oritm

+0

@Oritm - 私のコードはクラッシュしていません。予防措置のためだけに、私はその状況を私のコードでも扱いたい。 – Satyam

答えて

0

finishTransactionは、トランザクションをpaymentsQueueから削除します。したがって、の前にの支払いが発生した場合、お支払いは、のキューに残り、次にユーザーがアプリを起動すると、彼はパスワードを入力するよう求められ、再度購入を進めることができます。

しかし、クラッシュがあなたがコンテンツを提供している右の前に、finishTransaction呼び出しの後occures場合、ユーザーは気づかthta dontentが提供されていないだろうので、彼はを復元押すことができるようになりますbutton.Orあなたは可能性があり、男性フラグ自身は、後にfinishTransactionあなたが提供していたはずのものを提供したかどうか確認してください。

+0

クラッシュに関する私の質問は、 "finishTransaction"が呼び出される前です。 – Satyam

+0

私の質問の最初の部分で答えたので、eveythingは大丈夫です。 –

+0

もっと説明しましょう:ユーザーがアプリストアのクレデンシャルを入力しました。リンゴが支払いを処理し、クレジットカードからお金を差し引いた可能性があります。 appleが支払い成功の応答を送信し、 "finishTransaction"を呼び出す前に、アプリケーションがクラッシュしました。お金は差し引かれますが、私はfinishTransactionを処理せず、リソースをロック解除しました....どう対処するのですか? – Satyam

0

私はあなたができると思います。

しかし、ユーザーが購入し、リンゴが支払いを受け取った場合、ユーザーはいつでも購入を復元できます。有料ボタン(またはあなたがプログラムしたもの)を押すと、次のように表示されます:すでにこのアイテムを購入しています。この購入を元に戻しますか?

復元すると、finishedTransactionが呼び出されます。

もう一度お支払いいただく必要はありません。