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

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

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

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