---
title: "在 React Native SDK 中获取旧版付费墙编辑工具付费墙"
description: "使用 Adapty SDK 在 React Native 应用中获取旧版付费墙编辑工具付费墙。"
---

在 [使用付费墙编辑工具设计好付费墙的视觉部分](adapty-paywall-builder-legacy) 后，您可以在 React Native 应用中展示它。此过程的第一步是获取与版位关联的付费墙及其视图配置，如下所述。

:::warning

本指南**仅适用于旧版付费墙编辑工具付费墙**，需要 SDK v2.x 或更早版本。获取付费墙的流程因付费墙编辑工具版本和远程配置付费墙的不同而有所差异。

- 如需获取**新版付费墙编辑工具付费墙**，请参阅[获取新版付费墙编辑工具付费墙及其配置](react-native-get-pb-paywalls)。
- 如需获取**远程配置付费墙**，请参阅[获取远程配置付费墙的付费墙与产品](fetch-paywalls-and-products-react-native)。

:::

<details>
   <summary>在 React Native 应用中展示付费墙之前（点击展开）</summary>

   1. 在 Adapty 看板中[创建您的产品](create-product)。
2. 在 Adapty 看板中[创建付费墙并将产品添加到其中](create-paywall)。
3. 在 Adapty 看板中[创建版位并将付费墙添加到其中](create-placement)。
4. 在您的 React Native 应用中[安装 Adapty SDK 和 AdaptyUI SDK](sdk-installation-reactnative)。
</details>

## 获取使用付费墙编辑工具设计的付费墙 \{#fetch-paywall-designed-with-paywall-builder\}

如果您已[使用付费墙编辑工具设计了付费墙](adapty-paywall-builder-legacy)，则无需在 React Native 应用代码中手动渲染它来向用户展示。此类付费墙包含应展示的内容以及展示方式。不过，您仍需通过版位获取其 ID、视图配置，然后在 React Native 应用中呈现它。

为确保最佳性能，务必尽早获取付费墙及其[视图配置](#fetch-the-view-configuration-of-paywall-designed-using-paywall-builder)，以便在向用户展示之前有足够的时间下载图片。

使用 `getPaywall` 方法获取付费墙：

```typescript showLineNumbers
try {
    const id = 'YOUR_PLACEMENT_ID';
    const locale = 'en';

    const paywall = await adapty.getPaywall(id, locale);
  // the requested paywall
} catch (error) {
    // handle the error
}
```

| 参数 | 是否必填 | 描述 |
|---------|--------|-----------|
| **placementId** | 必填 | 所需[版位](placements)的标识符。这是您在 Adapty 看板中创建版位时指定的值。 |
| **locale** | <p>可选</p><p>默认值：`en`</p> | <p>[付费墙本地化](add-paywall-locale-in-adapty-paywall-builder)的标识符。该参数应为由一个或两个子标签组成的语言代码，子标签之间用连字符（**-**）分隔。第一个子标签表示语言，第二个表示地区。</p><p></p><p>示例：`en` 表示英语，`pt-br` 表示巴西葡萄牙语。</p><p></p><p>有关语言区域代码及使用建议，请参阅[本地化与语言区域代码](localizations-and-locale-codes)。</p> |

**不要硬编码产品 ID。** 唯一应该硬编码的 ID 是版位 ID。付费墙是远程配置的，因此产品数量和可用优惠随时可能变化。您的应用必须动态处理这些变化——如果付费墙今天返回两个产品，明天返回三个，则应在不修改代码的情况下全部展示。

响应参数：

| 参数 | 描述 |
| :-------- |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Paywall   | 一个 [`AdaptyPaywall`](https://react-native.adapty.io/interfaces/adaptypaywall) 对象，包含产品 ID 列表、付费墙标识符、远程配置及其他若干属性。 |

## 获取使用付费墙编辑工具设计的付费墙的视图配置 \{#fetch-the-view-configuration-of-paywall-designed-using-paywall-builder\}

获取付费墙后，检查其是否包含 `viewConfiguration`——这表明该付费墙是使用付费墙编辑工具创建的。这将指导您如何展示该付费墙。如果存在 `viewConfiguration`，将其作为付费墙编辑工具付费墙处理；否则，[将其作为远程配置付费墙处理](present-remote-config-paywalls-react-native)。

在 React Native 中，当您使用 `adaptyUI.showPaywall()` 方法呈现付费墙时，视图配置会被自动处理。