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

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

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

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