【问题标题】:Revenuecat, Flutter - PurchasePackage does not work, but there are no exceptionsRevenuecat,Flutter - PurchasePackage 不起作用,但没有例外
【发布时间】:2021-02-10 03:21:02
【问题描述】:

这是场景:

  1. 沙盒用户购买了订阅,但已过期。
  2. 沙盒用户尝试再次购买相同的订阅。

Apple 的 IAP UX 未触发,并且 PurchaserInfo 对象返回时没有新的购买和新的权利。没有抛出异常。

在购买者信息对象中,我看到了旧的权利和过期的订阅。

我在这里错过了什么?

【问题讨论】:

  • 您找到解决方案了吗?我遇到了同样的问题,我正在使用最新版本的插件和颤振。在 RCs github 页面上没有任何帮助。

标签: flutter revenuecat


【解决方案1】:

对于不同的场景,我面临同样的问题。 有时“purchasePackage”方法成功,有时不返回。不抛出异常,不显示产品的底页。如果再次点击购买按钮,我会得到PurchasesErrorCode.operationAlreadyInProgressError。沙盒用户和普通用户都会遇到这种情况。

在日志中我看到purchase started,仅此而已。

【讨论】:

  • 是的。完全相同的问题。
  • 请问您使用的是哪些插件?这可能是插件之间的冲突。 identify 方法也有同样的问题,因为插件冲突。我用超时修复了它。
  • 我使用了大量的插件!而且,对我来说,它 90% 的时间都可以顺利运行(我也提交到了应用商店并且应用获得了批准)。但偶尔,我遇到了这个错误。
  • 问题是我们可能会损失的钱!这对我来说非常重要
【解决方案2】:

对于那些收到PurchasesErrorCode.operationAlreadyInProgressError的人:

purchases-flutter ,则该错误本身是由竞争条件引起的,并且可以重现,例如,如果您在错误回调中有重试机制。

更多详情:https://github.com/RevenueCat/purchases-ios/pull/313

解决方案是升级,我建议更新到可用的最新版本(当前为 1.4.3)。

如果您已经在使用purchases-flutter >= 1.3.0,您应该通过http://support.revenuecat.com 联系RevenueCat 支持,以便他们提供进一步的帮助。

【讨论】:

  • 问题是没有得到 operationAlreadyInProgressError。通话卡住没有错误
  • 您应该始终尝试在您的应用流程中尽早设置 SDK。这样一来,SDK 就会在队列中捕获事务,这可能包括在您的应用程序之外发生的事务(例如来自 iOS 设置菜单)。此外,您应该只需要调用setup 一次,无需再次调用它。如果用户注销,您可以使用 reset 重置 SDK 以使用新的匿名 ID,但您不应在应用中多次调用 setup
  • 如下所述,AudioService 和 RevenueCat 之间存在插件冲突。通常,例如在示例应用程序中,一切正常,正如您所解释的那样。但就我而言,在播放音频后,RevenueCat 通话卡住了。
【解决方案3】:

最后,经过一周的调查,我发现了问题和解决方法:问题是 AudioService 和 RevenueCat Purchase 插件之间的冲突。在“initState”中调用“Purchases.setup”方法解决了这个问题。

【讨论】:

  • 你的意思是我们应该在调用 Purchases.purchasePackage() 之前调用 Purchases.setup() 吗?我在 main() 上调用 Purchases.setup() 但问题仍然存在
  • 如果您遇到此插件冲突,您需要在获取购买信息和获取产品之前重新设置购买(很可能在 initState 方法中)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-16
  • 1970-01-01
  • 2020-05-19
  • 2011-04-02
  • 2013-10-01
  • 1970-01-01
  • 2023-04-03
相关资源
最近更新 更多