---
title: "Использование резервных пейволов в чистом проекте React Native"
description: "Настройте резервные пейволы в чистом проекте React Native (без Expo)."
---

:::important
Этот гайд применяется к **чистым React Native (non-Expo) проектам**.
Если вы используете **Expo**, следуйте [гайду по резервным пейволам для Expo](react-native-use-fallback-paywalls-expo).
:::

Чтобы поддерживать бесперебойный пользовательский опыт, важно настроить [резервные пейволы](/fallback-paywalls) для флоу, [пейволов](paywalls) и [онбордингов](onboardings). Это позволит приложению продолжить работу при частичной или полной потере интернет-соединения.

* **Если приложение не может обратиться к серверам Adapty:**

    Оно сможет отобразить резервный флоу или пейвол, а также использовать локальную конфигурацию онбординга.

* **Если приложение не может подключиться к интернету:**

    Оно сможет отобразить резервный флоу или пейвол. Онбординги содержат удалённый контент и требуют интернет-соединения для работы.

:::important
Прежде чем следовать шагам этого гайда, [скачайте](/local-fallback-paywalls) файлы резервной конфигурации из Adapty.
:::
## Конфигурация \{#configuration\}
### Android

1. Добавьте файл резервной конфигурации в ваше приложение. Выберите одну из следующих директорий:
   * **android/app/src/main/assets/**
   * **android/app/src/main/res/raw/**

      Примечание: В папке `res/raw` действуют особые правила именования файлов (название должно начинаться с буквы, без заглавных букв, без специальных символов кроме подчёркивания, без пробелов).
2. Обновите свойство `android` константы `FileLocation`:
   * Если файл находится в директории `assets`, укажите путь к файлу относительно этой директории.
   * Если файл находится в директории `res/raw`, укажите имя файла без расширения.
### iOS

1. Добавьте резервный JSON-файл в бандл проекта: откройте меню **File** в XCode и выберите **Add Files to "YourProjectName"**.
2. Передайте имя файла конфигурации в свойство `ios` константы `FileLocation`.
## Пример \{#example\}
<Tabs groupId="current-os" queryString> <TabItem value="current" label="Текущая (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="Устаревшая (до 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>
| Параметр | Описание |
| :------------------- | :------------------------------------------------------- |
| **fileLocation** | Объект, представляющий расположение файла резервной конфигурации. |