排查 Flutter SDK 中的购买问题
本指南帮助您解决在 Flutter SDK 中手动实现购买时常见的问题。
makePurchase 调用成功,但用户画像未更新
问题:makePurchase 方法成功完成,但用户的用户画像和订阅状态在 Adapty 中未更新。
原因:这通常表明 Google Play Store 设置不完整或存在配置问题。
解决方案:请确保您已完成所有 Google Play 设置步骤。
makePurchase 被调用两次
问题:makePurchase 方法针对同一购买被多次调用。
原因:这通常发生在由于 UI 状态管理问题或用户快速交互导致购买流程被多次触发时。
解决方案:请确保您已完成所有 Google Play 设置步骤。
观察者模式下的 AdaptyError.cantMakePayments
问题:在观察者模式下使用 makePurchase 时出现 AdaptyError.cantMakePayments。
原因:在观察者模式下,您应在自己的代码中处理购买,而不是使用 Adapty 的 makePurchase 方法。
解决方案:如果您使用 makePurchase 进行购买,请关闭观察者模式。您需要二选一:要么使用 makePurchase,要么在观察者模式下自行处理购买。详情请参阅实现观察者模式。
Adapty 错误:(code: 103, message: Play Market request failed on purchases updated: responseCode=3, debugMessage=Billing Unavailable, detail: null)
问题:您收到来自 Google Play Store 的结算不可用错误。
原因:此错误与 Adapty 无关,是 Google Play 结算库的错误,表示该设备上结算服务不可用。
解决方案:此错误与 Adapty 无关。您可以在 Play Store 文档中查看并了解更多信息:处理 BillingResult 响应代码 | Play Billing | Android Developers。
未找到 makePurchasesCompletionHandlers
问题:您遇到了找不到 makePurchasesCompletionHandlers 的问题。
原因:这通常与沙盒测试问题有关。
解决方案:创建一个新的沙盒用户并重试。这通常可以解决与沙盒相关的购买完成处理程序问题。
其他问题
问题:您遇到了上述未涵盖的其他购买相关问题。
解决方案:如有需要,请参考迁移指南将 SDK 升级至最新版本。许多问题已在较新版本的 SDK 中得到修复。