自動更新部分を処理して、次の期間へのサブスクリプションの継続を処理できるようにするための最適なメカニズムを見つけようとしています。
これを処理する最良の方法は何ですか?
現在のexpires_dateに達しているかどうかを確認するためにNSTimerを設定してから、購入リクエストを送信してみる必要がありますか?
自動更新部分を処理して、次の期間へのサブスクリプションの継続を処理できるようにするための最適なメカニズムを見つけようとしています。
これを処理する最良の方法は何ですか?
現在のexpires_dateに達しているかどうかを確認するためにNSTimerを設定してから、購入リクエストを送信してみる必要がありますか?
Apple iOSのアプリ内購入は、製品「自動更新可能なサブスクリプション」を提供します。この製品は、Appleによって自動的に更新されます。
このタイプの製品を使用する場合、ユーザーがサブスクリプションをキャンセルした可能性があるため、アプリは自動更新可能なサブスクリプションがまだ有効かどうかを確認する必要があります。ユーザーがサブスクリプションをキャンセルした場合、サブスクリプションはサブスクリプション期間が終了するまで有効です。
自動更新可能なサブスクリプションを検証するには、購入レシートと、iTunesConnectでアプリのアプリ内購入用に生成された共有シークレットを使用する必要があります。この2つをAppStoreに投稿する必要があります。これによりJSONが返され、このデータから「サブスクリプションの最新の購入日」を取得する必要があります。その日から、有効期限を計算し、サブスクリプションを検証または無効にする必要があります。
このすべての検証は、アプリケーションの起動後やモデルの更新時に実行できます。
自動更新可能なサブスクリプションに関する情報は、Appleのドキュメントに記載されています。また、 StoreKitを使用するために作成する必要のあるコードの量を削減し、自動更新可能なサブスクリプションをサポートするフレームワークであるMKStoreKitについても確認できます。