---
title: "Usar paywalls de respaldo en un proyecto React Native puro"
description: "Configura paywalls de respaldo en un proyecto React Native puro (sin Expo)."
---

Para mantener una experiencia de usuario fluida, es importante configurar [respaldos](/fallback-paywalls) para tus flows, [paywalls](paywalls) y [onboardings](onboardings). Esta precaución amplía las capacidades de la aplicación en caso de pérdida parcial o total de la conexión a internet.

* **Si la aplicación no puede acceder a los servidores de Adapty:**

    Podrá mostrar un flow o paywall de respaldo, y acceder a la configuración local del onboarding.

* **Si la aplicación no puede acceder a internet:**

    Podrá mostrar un flow o paywall de respaldo. Los onboardings incluyen contenido remoto y requieren conexión a internet para funcionar.

:::important
Antes de seguir los pasos de esta guía, [descarga](/local-fallback-paywalls) los archivos de configuración de respaldo desde Adapty.
:::

## Descargar paywalls de respaldo en tu proyecto \{#download-fallback-paywalls-in-your-project\}

El archivo de paywall de respaldo se puede incluir en el proyecto de las siguientes maneras:

<Tabs>
<TabItem value="iOS" label="iOS">

1. Abre tu proyecto de Xcode.
2. Crea un grupo llamado `AdaptyPaywallResources` en el directorio raíz de tu proyecto en Xcode: haz clic derecho sobre la carpeta raíz del proyecto y selecciona **New Group**.
3. Arrastra y suelta el archivo `fallback_paywalls.json` descargado en el grupo `AdaptyPaywallResources` en Xcode. Asegúrate de que **Copy items if needed** esté marcado y que el target de tu aplicación esté seleccionado.

</TabItem>
<TabItem value="Android" label="Android">

Coloca el archivo `fallback_paywalls.json` descargado en la carpeta `android/app/src/main/assets` de tu proyecto React Native (si la carpeta no existe, créala).

</TabItem>
</Tabs>

## Establecer paywalls de respaldo en el código \{#set-fallback-paywalls-in-code\}

Para utilizar los paywalls de respaldo, llama al método `.setFallbackPaywalls()`. Es mejor hacerlo justo después de la configuración del SDK.

```typescript title="React Native (TSX)"
await adapty.setFallbackPaywalls(require('./AdaptyPaywallResources/fallback_paywalls.json'));
```

Los parámetros que debes pasar al método `.setFallbackPaywalls()`:

| Parámetro | Presencia | Descripción |
|-----------|-----------|-------------|
| **paywalls** | obligatorio | El contenido del archivo JSON con los paywalls de respaldo. |
:::important
Esta guía aplica a **proyectos de React Native puro (sin Expo)**.
Si usas **Expo**, sigue la [guía de paywall de respaldo para Expo](react-native-use-fallback-paywalls-expo) en su lugar.
:::

Para mantener una experiencia de usuario fluida, es importante configurar [respaldos](/fallback-paywalls) para tus flows, [paywalls](paywalls) y [onboardings](onboardings). Esta precaución amplía las capacidades de la aplicación en caso de pérdida parcial o total de la conexión a internet.

* **Si la aplicación no puede acceder a los servidores de Adapty:**

    Podrá mostrar un flow o paywall de respaldo, y acceder a la configuración local del onboarding.

* **Si la aplicación no puede acceder a internet:**

    Podrá mostrar un flow o paywall de respaldo. Los onboardings incluyen contenido remoto y requieren conexión a internet para funcionar.

:::important
Antes de seguir los pasos de esta guía, [descarga](/local-fallback-paywalls) los archivos de configuración de respaldo desde Adapty.
:::
## Configuración \{#configuration\}
### Android

1. Añade el archivo de configuración de respaldo a tu aplicación. Elige uno de los siguientes directorios:
   * **android/app/src/main/assets/**
   * **android/app/src/main/res/raw/**

      Nota: La carpeta `res/raw` tiene una convención de nomenclatura especial (los nombres deben empezar por una letra, sin mayúsculas, sin caracteres especiales excepto el guión bajo y sin espacios).
2. Actualiza la propiedad `android` de la constante `FileLocation`:
   * Si el archivo está en el directorio `assets`, indica la ruta del archivo relativa a ese directorio.
   * Si el archivo está en el directorio `res/raw`, indica el nombre del archivo sin extensión.
### iOS

1. Añade el archivo JSON de respaldo al bundle de tu proyecto: abre el menú **File** en XCode y selecciona la opción **Add Files to "YourProjectName"**.
2. Pasa el nombre de tu archivo de configuración a la propiedad `ios` de la constante `FileLocation`.
## Ejemplo \{#example\}
<Tabs groupId="current-os" queryString> <TabItem value="current" label="Actual (v3.8+)" default>
```typescript showLineNumbers
//after v3.8
const fileLocation = {
  ios: {
    fileName: 'ios_fallback.json'
  },
  android: {
    //if the file is located in 'android/app/src/main/assets/'
    relativeAssetPath: 'android_fallback.json'
  }
}
await adapty.setFallback(fileLocation);
```
</TabItem>
<TabItem value="old" label="Anterior (antes de v3.8)" default>
```typescript showLineNumbers
//Legacy (before v3.8)
const paywallsLocation = {
  ios: {
    fileName: 'ios_fallback.json'
  },
  android: {
    //if the file is located in 'android/app/src/main/assets/'
    relativeAssetPath: 'android_fallback.json'
  }
}
await adapty.setFallbackPaywalls(paywallsLocation);
```
</TabItem>
</Tabs>
| Parámetro            | Descripción                                              |
| :------------------- | :------------------------------------------------------- |
| **fileLocation** | Objeto que representa la ubicación del archivo de configuración de respaldo. |