私のクライアントは、自動更新サブスクリプションタイプを使用するアプリをAppStoreに持っています。アプリを再送信すると、定期的なコンテンツがないと主張したため、拒否されました(ただし、定期的なコンテンツはありますが、現在、この問題はどこにでもあるようです)。非更新サブスクリプションに対処するための最善のアプローチは何であるか疑問に思いました。具体的には、以下を扱う問題があります。
- デバイスを紛失してサブスクリプションを復元する
- 複数のデバイスへのサブスクリプションの復元(Appleによって義務付けられている)
- ユーザーがシステムを悪用するのを防ぎます。
私がこれまでに思いついたのは次のとおりです。
ユーザーが1か月のサブスクリプションを購入すると、この情報はローカルに保存されます(たとえば、NSUserDefaultsに)。また、一意のIDが生成され、クライアントサーバーに送信されます。サブスクリプションが終了すると、ユーザーは購入画面に移動するかどうかを尋ねられます。ユーザーがデバイスを復元する必要がある場合、またはデバイスを紛失した場合に備えてサブスクリプションを保存したい場合は、一意の識別子を自分の電子メールアドレスに送信することを選択できます(入力を求められ、この情報が使用しないでください)。アプリには、このIDを入力する場所があります。サーバーからサブスクリプション情報を取得し、これをNSUserDefaultsに再度保存します。復元が行われるたびに、カウンターが増加します。たとえば5に達すると、ユーザーは復元できなくなります。上記と同じ原則は、複数のデバイスでサブスクリプションを共有する場合にも機能します。これは合理的な解決策(そしてAppleが受け入れる解決策)のように見えますか?
御時間ありがとうございます!