---
title: "Оптимизация загрузки пейволов в React Native SDK"
description: "Надёжная загрузка пейволов Adapty: время, кэширование и резервные паттерны для React Native."
---

Надёжная загрузка пейвола в React Native решает три задачи: быстрый рендеринг, возврат пейвола с учётом аудитории и корректный фолбэк при медленном интернете. Правила ниже охватывают подходы к тайммингу, кэшированию и резервным сценариям.
:::tip
Предполагается, что `adapty.activate()` и `adapty.identify()` уже выполнились. См. [Порядок вызовов в React Native SDK](react-native-sdk-call-order).
:::
## Правила и подводные камни \{#rules-and-pitfalls\}
| Делайте так | Не делайте так | Почему |
|---|---|---|
| Загружайте только тот плейсмент, который собираетесь показать. | Предзагружайте все плейсменты одновременно при запуске. | Массовая предзагрузка блокирует JS-поток и приводит к чёрному экрану во время всплеска. |
| Вызывайте `getPaywall` после того, как атрибуция успела разрешиться — например, через 1–2 секунды после `activate` или после срабатывания `onProfileUpdate`. | Вызывайте `getPaywall` при монтировании корневого компонента. | Атрибуция ещё не применилась. Пейвол разрешается для аудитории по умолчанию и незаметно обходит сегменты и персонализацию ASA. |
| Задайте `loadTimeoutMs` и настройте [резервный пейвол](fallback-paywalls) для каждого плейсмента. | Ждите ответа `getPaywall` бесконечно. | Без таймаута пользователи с плохим соединением видят пустой экран до тех пор, пока сеть не ответит — или закрывают приложение. |
Подробнее о параметрах `fetchPolicy` и `loadTimeoutMs` — в разделе [Получение пейволов и продуктов](fetch-paywalls-and-products-react-native), а о выборе подходящего плейсмента — в разделе [Плейсменты](placements).
## Настройка для нестабильного соединения \{#tune-for-poor-connectivity\}

Для рынков с постоянно плохим качеством связи (сельская местность, транспорт, регионы с проблемами маршрутизации):

- Устанавливайте `fetchPolicy: .returnCacheDataElseLoad` для каждого запроса, кроме самого первого.
- Настройте [резервный пейвол](fallback-paywalls) для каждого плейсмента в дашборде Adapty.
- Задайте `loadTimeoutMs` равным 3–5 секундам и используйте резервный пейвол при срабатывании таймаута.
- Не блокируйте отображение пейвола на `getProfile()`. Вызывайте `getPaywall` независимо, чтобы медленный запрос профиля не задерживал интерфейс.