在 Flutter SDK 中恢复应用内购买

恢复购买是 iOS 和 Android 均支持的功能,允许用户重新获取此前购买的内容(如订阅或应用内购买),且无需再次付费。对于卸载后重新安装应用、或更换了新设备的用户来说,这一功能尤为实用——他们可以直接恢复之前的购买内容,无需重复付款。

Note

如果你使用编辑工具搭建了页面,则无需手动恢复购买。只需绑定其恢复控件——在流程与付费墙编辑工具中使用 Restore purchases 操作,或在旧版编辑工具中使用恢复链接或按钮——SDK 会自动完成恢复。

如果你自行搭建了页面,请调用 .restorePurchases() 方法:

try {
  final profile = await Adapty().restorePurchases();
  if (profile?.accessLevels['YOUR_ACCESS_LEVEL']?.isActive ?? false) {
        // successful access restore      
  }
} on AdaptyError catch (adaptyError) {
  // handle the error
} catch (e) {
}

响应参数:

参数描述
Profile

一个 AdaptyProfile 对象。该模型包含访问等级、订阅及一次性购买的相关信息。

请检查访问等级状态,以判断用户是否有权访问应用。

Info

在 Adapty Flutter SDK 4.0.4 及更高版本中,即使没有可恢复的购买,restorePurchases() 也会成功完成:它会返回当前用户画像,请在其中检查访问等级状态。在早期 SDK 版本中,此方法在 Android 上会因 noPurchasesToRestore 错误而失败。

Tip

想查看 Adapty SDK 集成到移动应用的真实示例?请参阅我们的示例应用,其中演示了完整的配置流程,包括显示付费墙、发起购买以及其他基本功能。