这是场景:
- 沙盒用户购买了订阅,但已过期。
- 沙盒用户尝试再次购买相同的订阅。
Apple 的 IAP UX 未触发,PurchaseInfo 对象返回时没有新的购买和新的权利。没有抛出异常。
在购买者信息对象中,我看到了旧的权利和过期的订阅。
我在这里想念什么?
这是场景:
Apple 的 IAP UX 未触发,PurchaseInfo 对象返回时没有新的购买和新的权利。没有抛出异常。
在购买者信息对象中,我看到了旧的权利和过期的订阅。
我在这里想念什么?
对于那些得到PurchasesErrorCode.operationAlreadyInProgressError
:
purchases-flutter
<= 1.2.1中有一个错误,已在 1.3.0 及更高版本中修复。该错误本身是由竞争条件引起的,并且如果您在先前购买的完成块内开始购买,例如如果您在错误回调中有重试机制,则该错误可重现。
更多细节在这里:https ://github.com/RevenueCat/purchases-ios/pull/313
解决方案是升级,我建议更新到可用的最新版本(当前为 1.4.3)。
如果您已经在使用purchases-flutter
>= 1.3.0,则应通过http://support.revenuecat.com联系 RevenueCat 支持,以便他们提供进一步帮助。
对于不同的场景,我面临同样的问题。有时“purchasePackage”方法成功,有时不返回。不抛出异常,不显示产品的底页。如果再次点击购买按钮,我会得到PurchasesErrorCode.operationAlreadyInProgressError
。它发生在沙盒和普通用户身上。
在我看到的日志purchase started
中,仅此而已。
最后,经过一周的调查,我发现了问题和解决方法:问题是 AudioService 和 RevenueCat Purchase 插件之间的冲突。在“initState”中调用“Purchases.setup”方法解决了这个问题。