代码之家  ›  专栏  ›  技术社区  ›  sk123

如何在IAP Swift中获得正确的原始购买和到期日期

  •  0
  • sk123  · 技术社区  · 7 年前

    我目前正在沙箱中测试应用内购买,以查看用户订阅当前是否处于活动状态或已过期状态。我刚订阅了一个月,收据上说订阅马上就过期了。orginalPurchaseDate和ExpiryDate看起来都不对。如何确定返回的json中的哪些日期是正确的。我将expiryDate与原始购买日期进行比较,以确定订阅是否仍处于活动状态。

    func checkIfSubscriptionIsActive() {
        IAPManager.shared.validatePurchaseReceipt { (pReceipt) in
            self.receipt = pReceipt
            let expiryDate = self.receipt.last.map { $0.expiresDate}!.skTodate
            let originalPurchaseDate = self.receipt.last.map { $0.originalPurhaseDate}!.skTodate
            print("Latest Receipt: \(self.receipt.last)")
            if expiryDate?.compare(originalPurchaseDate!) == .orderedDescending {
                print("Subscription is expired")
            } else {
                print("Subscription is still active")
            }
        }
    }
    

    这是我的日志

    最新收据:可选(Vinylly.iaPreceptipInfo(数量:“1”,交易ID:“1000000500768”,产品ID:“com.myApp.skLLC.autoRenewableSubscription”,原始预期日期:“2019-01-17 11:50:53 Etc/GMT”,isTrialPeriod:“false”,webOrderLineItem:“100000042609588”,到期日期:“2019-02-06 15:55:21 Etc/GMT”))

    1 回复  |  直到 7 年前
        1
  •  3
  •   Ekta    7 年前