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

:::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="Current (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="Legacy (before v3.8)">
```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. |