在 Android SDK 中恢复移动应用内购买
恢复购买是一项允许用户重新获取此前已购内容(如订阅或应用内购买)的功能,且无需再次付费。此功能尤其适用于以下场景:用户卸载并重新安装了应用,或更换了新设备,希望在不重复付费的情况下访问此前购买的内容。
如果你在编辑工具中构建了付费墙界面,则无需手动恢复购买。只需关联对应的恢复控件——在 Flow & 付费墙编辑工具中使用 Restore purchases 操作,或在旧版编辑工具中使用恢复链接或按钮——SDK 会自动完成恢复流程。
如果你自行构建了界面,请调用 .restorePurchases() 方法:
响应参数:
| 参数 | 描述 |
|---|---|
| Profile | 一个 检查访问等级状态以确定用户是否有权访问应用。 |
从 Adapty Android SDK 3.17.3 和 4.0.2 版本开始,即使没有任何可恢复的内容,restorePurchases() 也会成功完成:它会返回当前用户画像,请检查其中的访问等级状态。在更早的 SDK 版本中,这种情况下该方法会以 NO_PURCHASES_TO_RESTORE 错误失败。
可以恢复哪些内容
restorePurchases 可恢复 Google Play 中的有效订阅和未消耗的一次性购买。
从 Adapty Android SDK 3.17.3 和 4.0.2 开始(使用 Google Play Billing Library 8),Play Store 不再返回已过期的订阅或已消耗的一次性购买。若需让用户在更换设备或重新安装后恢复这些内容,请通过 Adapty.identify 识别用户。Adapty 将从其后端(而非商店)恢复购买历史记录。
Google Play 仅报告当前拥有的购买记录,因此 restorePurchases() 无法找到在你集成 Adapty 之前已过期的订阅。如需将其添加到 Adapty,请导入历史数据。
想查看 Adapty SDK 集成到移动应用的真实示例?请参阅我们的示例应用,其中演示了完整的配置流程,包括显示付费墙、发起购买以及其他基本功能。