Оптимизация загрузки пейвола в Capacitor SDK
Надёжная загрузка пейвола в Capacitor решает три задачи: быстрый рендеринг, возврат пейвола с учётом аудитории и корректное резервное отображение при медленной сети. Правила ниже охватывают тайминг, кэширование и паттерны резервного отображения.
Предполагается, что adapty.activate() и adapty.identify() уже выполнены. См. Порядок вызовов в Capacitor SDK.
Правила и подводные камни
| Делайте так | Не делайте так | Почему |
|---|---|---|
| Загружайте плейсмент непосредственно перед показом. | Предзагружайте все плейсменты одновременно при запуске. | Массовая предзагрузка блокирует главный поток и вызывает чёрный экран во время запроса. |
Вызывайте getPaywall после того, как атрибуция успеет разрешиться — например, через 1–2 секунды после activate или после срабатывания слушателя onLatestProfileLoad. | Вызывайте getPaywall при запуске приложения в App.tsx. | Атрибуция ещё не получена. Пейвол разрешается для аудитории по умолчанию и незаметно обходит сегменты и персонализацию ASA. |
Задайте loadTimeoutMs и настройте резервный пейвол для каждого плейсмента. | Ждите ответа getPaywall без ограничения времени. | Без таймаута пользователи с плохим соединением видят пустой экран до тех пор, пока сеть не ответит — или закрывают приложение. |
Подробнее о параметрах fetchPolicy и loadTimeoutMs см. в разделе Получение пейволов и продуктов, а о выборе подходящего плейсмента — в разделе Плейсменты. |
Настройка для нестабильного соединения
Для рынков с постоянно плохим подключением (сельская местность, транспорт, регионы с проблемами маршрутизации):
- Устанавливайте
fetchPolicy: 'return_cache_data_else_load'для каждого запроса, кроме самого первого. - Настройте резервный пейвол для каждого плейсмента в дашборде Adapty.
- Задайте
loadTimeoutMsв диапазоне 3000–5000 миллисекунд и используйте резервный пейвол при срабатывании таймаута. - Не ставьте отображение пейвола в зависимость от
adapty.getProfile(). ВызывайтеgetPaywallнезависимо, чтобы медленная загрузка профиля не блокировала интерфейс.