---
title: "React Native - Использование резервных пейволов"
description: "Обрабатывайте случаи, когда пользователи офлайн или серверы Adapty недоступны."
---

:::warning
Резервные пейволы поддерживаются начиная с React Native SDK v2.11.
:::

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

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

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

* **Если приложение не имеет доступа к интернету:**

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

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

## Настройка \{#configuration\}

### Android \{#android\}

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

      Примечание: папка `res/raw` имеет особые требования к именованию файлов (имя должно начинаться с буквы, без заглавных букв, без специальных символов кроме нижнего подчёркивания и без пробелов).

2. Обновите свойство `android` константы `FileLocation`:
   * Если файл находится в директории `assets`, укажите путь к файлу относительно этой директории.
   * Если файл находится в директории `res/raw`, укажите имя файла без расширения.

### iOS \{#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** | Объект, представляющий расположение файла резервной конфигурации. |