Revenuecat 和 Storekit:确定免费试用资格返回错误

问题描述 投票:0回答:0

我使用 Revenucat 来管理订阅。提供免费试用期,为了确定用户的资格,我使用 Revenuecat 提供的以下代码,并使用 SandBox 测试代码(测试飞行返回相同的问题。)

Purchases.shared.getOfferings { offerings, error in
  if let product = offerings?.current?.availablePackages.first?.storeProduct {
    Purchases.shared.checkTrialOrIntroDiscountEligibility(product: product) { eligibility in
      if eligibility == .eligible {
        self.freeTrialElgibility = true
      } else {
       self.freeTrialElgibility = false
      }
    }
  }
}

但它返回以下错误消息:

🍎‼️ 应用程序在沙箱上运行,没有收据文件。除非您之前购买过并且有收据,否则无法确定您是否符合资格。

除此之外,如何检测用户是否正在使用免费试用订阅?我尝试过这个块:

 Purchases.shared.getCustomerInfo { (customerInfo, error) in
                self.isSubcriptionActive =  customerInfo?.entitlements.all["All Access"]?.isActive == true
            self.isTrialPeriod = customerInfo?.entitlements.all["All Access"]?.periodType.rawValue == 0
         
          
        }

但是 isTrialPeriod 仍然为 false。我想我不明白“periodType”的含义。

如果有人可以帮助我,那就太好了。

提前非常感谢。

让-弗朗索瓦

如果我尝试恢复订阅,它成功了,检测到免费试用期资格。

但是不推荐这种方法(出现登录提示),我按照 RevenueCat 的推荐使用了

syncPurchases
,同样的错误信息。

我在 Stackoverflow 上读到一种方法是计算收据数量。如果收据数量为0,我们可以认为资格是真实的。如何通过 RevenueCat 获得这个数量的收据?

swiftui storekit receipt-validation revenuecat
© www.soinside.com 2019 - 2024. All rights reserved.