3

ユーザーがサブスクリプションを購入すると、レシートが属するユーザーを識別するためのキーと共に、完了したトランザクションのレシートをサーバーに保存します。アプリがサブスクリプションがまだアクティブかどうかを確認する必要がある場合、サーバーにクエリを実行し、サーバーは Apple で領収書を検証し、サブスクリプションの有効期限が切れているかどうかに関係なく、アプリに情報を返します。

問題は次のとおりです。

latest_receipt応答が/フィールドを返す場合_info、サーバーはそのレシートを取得し、将来の検証のために古いレシートを置き換える必要があります。サブスクリプション期間にギャップがある場合 (例: ユーザーが 1 か月サブスクリプションし、その後キャンセルし、再度サブスクリプションした場合)、またはユーザーがサブスクリプション タイプを変更した場合 (例: 1 か月から 3 か月に変更) はどうなりますか?

元の領収書は引き続き検証され、 latest_receipt/_infoフィールドが返されますか?それとも、新しいトランザクションから新しい領収書を保存する必要がありますか?

現在、この自動更新について本当に混乱しているので、検証プロセスが正しいかどうかさえわかりません.

4

1 に答える 1

2

領収書を確認する必要があるすべての可能性についてはわかりませんが、おそらくそれはあなたのやり方で機能しますが、私たちは少し異なっており、それによってあなたの問題に直面していません。

すべての領収書はデバイス側に保存されます(自動更新によって新しい領収書も作成されることに注意してください)。確認が必要な場合はいつでも、デバイスに保存されている最新のレシートをサーバーに送信し、iTunesを呼び出して確認します。その後、サーバーはユーザーの権限についてデバイスに応答します。

私はそれがAppleがそれを推奨する方法だと思います(または少なくともこれは私がAppleのドキュメントを理解した方法です)。

于 2012-05-03T16:14:50.543 に答える