---
title: "在 Android SDK 中恢复移动应用内的购买"
description: "了解如何在 Adapty 中恢复购买，以确保无缝的用户体验。"
---

恢复购买是一项允许用户重新获得之前购买内容（例如订阅或应用内购买）访问权限的功能，且无需再次付费。该功能对于那些可能卸载后重新安装了应用，或切换到新设备并希望访问之前购买内容而无需再次付款的用户尤为有用。

:::note
在使用[付费墙编辑工具](adapty-paywall-builder)构建的付费墙中，购买会自动恢复，无需您编写额外代码。如果您的情况属于此类，可以跳过此步骤。
:::

如果您未使用[付费墙编辑工具](adapty-paywall-builder)来自定义付费墙，请调用 `.restorePurchases()` 方法来恢复购买：

<Tabs groupId="current-os" queryString>

<TabItem value="kotlin" label="Kotlin" default>

```kotlin showLineNumbers
Adapty.restorePurchases { result ->
    when (result) {
        is AdaptyResult.Success -> {
            val profile = result.value
                      
            if (profile.accessLevels["YOUR_ACCESS_LEVEL"]?.isActive == true) {
            // successful access restore
            }
        }
        is AdaptyResult.Error -> {
            val error = result.error
            // handle the error
        }
    }
}
```
</TabItem>
<TabItem value="java" label="Java" default>

```java showLineNumbers
Adapty.restorePurchases(result -> {
    if (result instanceof AdaptyResult.Success) {
        AdaptyProfile profile = ((AdaptyResult.Success<AdaptyProfile>) result).getValue();
        
        if (profile != null) {
            AdaptyProfile.AccessLevel premium = profile.getAccessLevels().get("YOUR_ACCESS_LEVEL");
            
            if (premium != null && premium.isActive()) {
                // successful access restore
            }
        }
    } else if (result instanceof AdaptyResult.Error) {
        AdaptyError error = ((AdaptyResult.Error) result).getError();
        // handle the error
    }
});
```
</TabItem>

</Tabs>

响应参数：

| 参数 | 描述 |
|---------|-----------|
| **Profile** | <p>一个 [`AdaptyProfile`](https://android.adapty.io/adapty/com.adapty.models/-adapty-profile/) 对象。该模型包含访问等级、订阅及非订阅购买的相关信息。</p><p>请检查**访问等级状态**以确定用户是否有权访问该应用。</p> |

:::tip

想了解 Adapty SDK 如何集成到移动应用中的真实示例？请查看我们的[示例应用](sample-apps)，其中展示了完整的配置过程，包括显示付费墙、完成购买以及其他基本功能。

:::