1

通常、IOS アプリでは、Apple の領収書のリストと、自分で購入を処理したときにローカルに追加した領収書のリストを比較して、購入が成功し、アプリケーションによって処理されたことを検証します。これにより、購入中のアプリのクラッシュ、バグなど、物事が同期しなくなる可能性があることから保護されます. 私はAmazonで同様のことをしようとしています。購入の検証/復元に関する Amazon ドキュメントで、次のような記述を繰り返し見てきました。

It is possible for a purchase transaction to have more than one Purchase Token representation, so they should not be used as transaction IDs.

まったく逆のことを考えていたので、これは大きな助けになりました。残念ながら、「トランザクション ID はここで見つかります:...」という残りの考えは見つかりませんでした。彼らのトランザクションは安定した ID を提供していないと思い始めています...! 不足しているものを教えてください。または、それが実際に存在しない場合、上記の問題を防ぐ方法を教えてください。

4

2 に答える 2

0

現在の Amazon IAP API では、PurchaseResponse オブジェクトの「requestId」によって IAP アイテムを処理したかどうかを追跡します。この「requestId」は一種の疑似トランザクション ID として使用できます。この requestId をサーバーまたはデバイスのローカル ストレージに保存する必要があります。

詳細については、以下のクイック スタート リンクを参照してください: https://developer.amazon.com/appsandservices/apis/earn/in-app-purchasing/docs/quick-start#7

于 2014-05-30T04:57:43.720 に答える
0

Amazon IAP での initializePurchaseUpdatesRequest 呼び出しは、復元ポイントの永続的な識別子であるオフセット パラメータを受け取ります。起動するたびに、最後に見たオフセット (または初めて Offset.BEGINNING) から開始して、initiatePurchaseUpdatesRequest を発行します。応答が届いたら、次の起動のために応答からのオフセットを保存します。このようにして、(バグまたは複数のデバイスの問題のために)記録されていない新しい売上は、次の起動時に把握されます. これによるマイナーな影響の 1 つは、購入の通知を実際に 2 回受け取ることができることです。

いつものように、他のすべてが失敗した場合に備えて、ユーザーが Offset.BEGINNING パラメーターを指定して InitiatePurchaseUpdatesRequest を発行する「購入の復元」を手動で要求することもできます。

Ps。実際の領収書の検証は、復元または購入応答のいずれかからの領収書の値を使用して、独自のサーバーから Amazon Web サービスを呼び出すことによって実行する必要があります。

于 2013-06-15T05:46:02.210 に答える