排查 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 中得到修复。