我导入了 StoreKit 并设置了消耗品购买代码并设置了沙盒测试器。我有三个按钮。每个人都会购买一种单独的产品。这是我的问题:
当我的沙盒测试人员尝试再次购买相同的产品并按下相同的按钮时,Firebase 分析显示:
“购买重复,不会被举报”。
好吧,好吧。但我如何才能得到 AppStore 的响应呢? Firebase 从哪里得到这个?
当我查看
SKPaymentTransaction.transactionState
枚举时,没有任何案例。我尝试检查案例并打印一些内容到控制台,如下所示:
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction in transactions {
switch transaction.transactionState {
case .purchased:
print("purchased")
break
case .restored:
print("restored")
break
case .failed :
print("failed")
break
case .deferred:
print("deferred")
break
case .purchasing:
print("purchased")
break
@unknown default:
fatalError()
}
}
}
我也检查了
transaction.error
,但也没有错误。
当重复购买导致购买失败时,此代码不会打印任何内容。我怎样才能在这里至少得到一个错误?
我该怎么办?
我的目标是显示警报并告诉客户“您已经购买了这个”。
正如Paulw11在评论中所说,消耗品购买意味着要多次购买。我错了。试图阻止消费品购买中的多次购买就像“你昨天买了一杯咖啡,为什么今天想再购买一杯?”。当然,今天有人可能想再喝一杯咖啡。
我改变了以平常的方式使用消耗品购买的方法。