---
title: "Utiliser les paywalls de secours dans un projet React Native pur"
description: "Configurer les paywalls de secours dans un projet React Native pur (non-Expo)."
---

:::important
Ce guide s'applique aux **projets React Native purs (non-Expo)**.
Si vous utilisez **Expo**, suivez plutôt le [guide de secours pour Expo](react-native-use-fallback-paywalls-expo).
:::

To maintain a fluid user experience, it is important to set up [fallbacks](/fallback-paywalls) for your flows, [paywalls](paywalls), and [onboardings](onboardings). This precaution extends the application's capabilities in case of partial or complete loss of internet connection.

* **If the application cannot access Adapty servers:**

    It will be able to display a fallback flow or paywall, and access the local onboarding configuration.

* **If the application cannot access the internet:**

    It will be able to display a fallback flow or paywall. Onboardings include remote content and require an internet connection to function.

:::important
Before you follow the steps in this guide, [download](/local-fallback-paywalls) the fallback configuration files from Adapty.
:::

## Configuration

### Android

1. Ajoutez le fichier de configuration de secours à votre application. Choisissez l'un des répertoires suivants :
   * **android/app/src/main/assets/**
   * **android/app/src/main/res/raw/**

      Remarque : le dossier `res/raw` impose des conventions de nommage particulières (commencer par une lettre, pas de majuscules, pas de caractères spéciaux sauf le tiret bas, et pas d'espaces dans les noms).

2. Mettez à jour la propriété `android` de la constante `FileLocation` :
   * Si le fichier se trouve dans le répertoire `assets`, indiquez son chemin relatif au répertoire.
   * Si le fichier se trouve dans le répertoire `res/raw`, indiquez le nom du fichier sans l'extension.

### iOS

1. Ajoutez le fichier JSON de secours au bundle de votre projet : ouvrez le menu **File** dans XCode et sélectionnez l'option **Add Files to "YourProjectName"**.
2. Passez le nom de votre fichier de configuration à la propriété `ios` de la constante `FileLocation`.

## Exemple

<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>

Paramètres :

| Paramètre            | Description                                              |
| :------------------- | :------------------------------------------------------- |
| **fileLocation** | Objet représentant l'emplacement du fichier de configuration de secours. |