2012-04-16 21 views
1

クライアントには、自動更新購読タイプを使用するApp Storeがあります。アプリを再送信すると、定期的なコンテンツを持っていないと主張して拒否されました(ただし、現在のところ、この問題は遍在しているようです)。私は最良のアプローチが非更新購読に対処することを考えていました。具体的に対処する問題:自動更新から更新可能な購読への切り替え

  1. お使いのデバイスを失うと、システムを悪用からユーザーを防止する複数のデバイス(Appleが義務付けられて)
  2. へのサブスクリプションを復元
  3. サブスクリプションを復元します。

    ユーザーは1ヶ月のサブスクリプションを購入すると、この情報は(NSUserDefaultsに言って)ローカルに保存されている:私はこれまでのところ、次のされて思い付いた

。また、一意のIDが生成され、クライアントのサーバーに送信されます。サブスクリプションが終了すると、ユーザは購入画面に誘導されるかどうか尋ねられます。デバイスを復元する必要がある場合やデバイスを失う場合に備えて、サブスクリプションを保存したい場合は、電子メールアドレスに固有のIDを送信することを選択できます(入力を促され、この情報は使用されない)。このIDを入力する場所がアプリにあります。サーバーからサブスクリプション情報を取得し、これをNSUserDefaultsに再度格納します。リストアが完了するたびに、カウンタが増加します。 5に達すると、ユーザーはもう復元できなくなります。上記の同じ原則は、複数のデバイスでサブスクリプションを共有する場合に有効です。これは合理的な解決策(Appleが受け入れるもの)のように見えますか?

ありがとうございました!

答えて

0

なぜAppleのrestoreCompletedTransactionsを使用しないのですか?これは、任意のデバイス上で、以前のすべての購入に関する情報をいつでも提供するだけです。 http://developer.apple.com/library/mac/#documentation/StoreKit/Reference/SKPaymentQueue_Class/Reference/Reference.html#//apple_ref/occ/instm/SKPaymentQueue/restoreCompletedTransactions

+1

残念ながら、再生できないサブスクリプションを復元することはできません。最後の段落: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/MakingaPurchase/MakingaPurchase.html#//apple_ref/doc/uid/TP40008267-CH3-SW2 –

関連する問題