2016-06-21 14 views
2

アプリ内購入(自動再生可能)から商品を購入した後、購入情報を提供するためにサーバー上のAPIにヒットしました。アプリ内購入の自動更新サブスクリプション

APIをヒットするためにその製品が新しくなったことを知る方法を教えてください。

ユーザーがそのサブスクリプションをキャンセルすると、それをどのように知ることができますか?

+0

このリンクhttps://stackoverflow.com/questions/22680059/auto-renewable-subscription-in-ios7/45220204#45220204 お手伝いがあります。 –

答えて

1

アップルはiOSやREST APIに組み込まれているものは提供していません。また、リピートやキャンセルに関してリッスンして応答できるコールバックはありません。 Appleには、ユーザーのローカル領収書とiTunes Connectで生成された「共有秘密」が与えられると、現在の購読情報を含む、ユーザーの購入履歴のJSONオブジェクトが返されます。 More Information check this link

8

3スウィフト:ユーザーは次の操作を実行する必要があるサブスクリプションをキャンセルしたときに検出するためには

  1. ダウンロードアプリ領収書
  2. 検証領収書あなたが戻ってすべてのアプリ内購入と定期購入辞書今と呼ばれる辞書内のフィールドがあり、各レシート内
  3. を含むJSONを得ることができるので、他のアプリ内購入で利用できない場合は、キャンセル予定日はです。これがnilであれば、そこにはキャンセルが発生していないのですが、これは、その後のキャンセルはリンゴに応じて発生したキャンセル日が含まれる値がある場合:アップルの顧客サポートによりキャンセルされたトランザクションのために

    キャンセル日 を、キャンセルの日時。

    キャンセルした領収書は、購入したことがない場合と同じ扱いをしてください。

次に、レシート内で使用できるすべてのフィールドについて説明します。

https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html

コード例:

// Create receipt request 
let receiptRefreshRequest = SKReceiptRefreshRequest() 

// Get the receiptUrl from the main bundle 
let receiptUrl = Bundle.main().appStoreReceiptURL 

//If the receipt file exist on local device 
if (receiptUrl as NSURL?)?.checkResourceIsReachableAndReturnError(nil) == true{ 

      // Get the file as data 
      let receipt: Data = try! Data(contentsOf: receiptUrl!) 


    } 

今あなたはリンゴが推薦するようにサーバーを使用して、それを検証するためにアップルのサーバに領収書を送信します。検証からコールバックを受け取った後、キャンセル日を確認します。

関連する問題