首页 文章

针对应用内购买的自动续订订阅

提问于
浏览
2

从应用程序内购买(自动更新)购买产品后,我点击服务器上的API来提供购买信息 .

如何知道该产品是否适用于推出API?

当用户取消该订阅时,如何知道?

2 回答

  • 1

    Swift 3: 为了让您检测用户何时取消订阅,您需要执行以下操作:

    • 下载应用收据

    • 验证收据,以便您可以返回包含所有应用内购买和订阅词典的json

    • 现在在每张收据中,如果这是订阅购买,则字典中有一个名为 cancellation_date 的字段,否则不能用于其他应用内购买 . 如果这是零,那么没有取消,但如果它有一个包含取消日期的值,那么取消确实发生了,并根据苹果:

    Cancellation Date 对于Apple客户支持取消的交易,取消的时间和日期 .

    对已取消的收据进行处理,就像没有进行任何购买一样 .

    然后,下面的链接说明了您可以在收据中使用的所有字段;

    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!)
    
    
      }
    

    现在您将收据发送到苹果服务器,以使用您的服务器验证它作为苹果推荐 . 从验证中获得回调后,您将检查取消日期 .

  • 8

    Apple不提供内置于iOS或REST API中的任何内容,可为您提供简单的订阅详细信息,也不存在任何可以在续订或取消方面收听和回复的回调 . Apple为您的应用提供了用户's local receipt and a “shared secret” generated in iTunes Connect, returns a JSON object of the user'的购买历史记录,包括当前的订阅信息 . More Information check this link

相关问题