Распространённые проблемы
В этой статье собраны наиболее частые проблемы, возникающие при создании флоу в Flow & Paywall Builder, с указанием их причин и способов решения.
Флоу не удаётся предварительно просмотреть или опубликовать
При попытке предварительно просмотреть или опубликовать флоу могут появиться следующие ошибки:
| Сообщение | Причина и решение |
|---|---|
| No product selected | На карточке продукта не выбран продукт. Выберите продукт или удалите карточку. |
| This product no longer exists, This offer no longer exists | Продукт или предложение было удалено из вашего дашборда. Выберите другой там, где он используется, или воспользуйтесь Replace in N places в записи Missing на панели Products, чтобы исправить все вхождения на экране за раз. |
| This product is off this screen, This offer is off this screen | Текстовая переменная, условие или действие ссылается на продукт, которого нет в списке экрана, — например, после того как вы удалили его на панели Products. Добавьте продукт обратно на панель или отредактируйте ссылку. |
| Offer required | offer_price, offer_billing_period или offer_full_duration используется с продуктом, у которого нет предложения. Выберите предложение для продукта или используйте вместо него переменную prod_*. |
| Product reference is invalid | Ссылка на продукт повреждена. Выберите продукт заново. |
| Purchase action has no product to buy | У действия Purchase нет продукта: либо поле пустое, либо оно указывает на удалённую карточку. На вкладке Interactions элемента укажите в поле Product нужный продукт или products.selectedProduct. |
| Select product action has no product to select | Карточка, на которую указывало действие Select product, удалена, перемещена из своей группы продуктов или находится на другом экране. На вкладке Interactions элемента укажите действие на карточку на этом экране. |
| Flow has no screens, Screen ”…” has no elements | Добавьте контент на пустой экран или удалите его. Флоу, содержащий только Remote Config, является исключением. |
| Invalid interaction action | Действие незавершено: Open URL без URL, Navigate to screen без цели, Set variable без значения, Custom без Action ID, Show alert без заголовка и сообщения, Show или Hide без указания элемента, веб-платёжный Purchase без Web Paywall URL. Откройте взаимодействия элемента и завершите или удалите действие. |
| Missing navigation target | Действие Navigate to screen указывает на удалённый экран. Выберите существующий экран или удалите действие. |
| Missing product target, Invalid product target, Product target on another screen, Ambiguous product target, Select Product inside a component | Действие Select product указывает на карточку, которая была удалена, не входит в группу продуктов, находится на другом экране, имеет тот же ID элемента, что и элемент на другом экране, или находится внутри футера или хедера, общего для нескольких экранов. Укажите действие на карточку в группе продуктов на том же экране с уникальным ID. |
| Missing selectable group | Элемент ссылается на выбираемую группу, которой больше не существует. Переподключите её или создайте заново. |
| Invalid visibility condition | Правило условной видимости незавершено. Завершите его в конструкторе условий. |
| Localized conditional text mismatch | Условный текст имеет разные ветки в разных локалях. Задайте одинаковые условия для всех локалей. |
| Missing product reference | Более старый флоу использует продукт, не зарегистрированный на экране. Откройте экран и добавьте продукт на панели Products. |
Регулярно просматривайте флоу в приложении Adapty во время разработки. Если флоу не публикуется, он не загрузится и там — а сообщение об ошибке укажет на конкретную проблему.
Чтобы проверить, готов ли флоу к продакшну, запустите скилл flow-audit. Он проверяет то, что не покрывают ошибки публикации: нерабочие кнопки, соответствие требованиям стора, незаконченные тексты и покрытие переводов. В отчёте для каждой проблемы указан элемент и экран.
Публикация завершается ошибкой «Something went wrong» без подробностей

Запрос на публикацию завершился ошибкой на стороне Adapty, а не из-за вашего флоу. Опубликованная версия осталась без изменений. Подождите несколько минут и попробуйте опубликовать снова. Если ошибка повторится, скопируйте Request ID из уведомления и отправьте его на support@adapty.io — команда поддержки сможет найти упавший запрос.
Скидка не применяется при покупке
Builder проверяет только то, что предложение всё ещё существует в Adapty. Применяется ли скидка — решает стор в момент покупки: introductory offer зависит от того, есть ли у пользователя право на него, а для App Store promotional offer нужен действующий ключ In-App Purchase Key. Оба случая описаны в разделе Расхождения продуктов и цен.
Цена предложения не отображается в превью
Превью в билдере не имеет доступа к сторам, поэтому offer_price, offer_billing_period и offer_full_duration отображают имя переменной в фигурных скобках вместо значения. При рендеринге флоу в приложении SDK подставит нужные значения. Чтобы проверить условия, зависящие от типа предложения, см. Предпросмотр продуктов и предложений.
Публикация завершается с ошибкой после ввода сокращённого hex-цвета
Вводите каждый цвет ровно шестью hex-символами, например #FFFFFF. Поле цвета принимает более короткое значение, но не разворачивает его, поэтому сокращение вроде #FFF попадает в конфигурацию SDK в некорректном виде и публикация отклоняется. Прозрачность тут ни при чём — то же значение ломается и при 100% прозрачности. Исключение, которое обходится дороже всего, — четырёхзначное значение: оно публикуется, но отображает совсем не тот цвет, который вы выбирали.
Изменения типографики не применяются к состоянию элемента
Если у состояния, например Selected, есть собственные настройки типографики, изменения типографики в состоянии Default — включая применение другого текстового стиля — не влияют на это состояние. Редактируйте типографику состояния напрямую.
Элементы теряют стиль после удаления текстового стиля
Удаление текстового стиля не копирует его настройки в элементы, которые его используют: эти элементы возвращаются к типографике по умолчанию. Перед удалением стиля переназначьте затронутые элементы на другой стиль или задайте им типографику вручную.
Условия и переменные перестают работать после изменения ID элемента
Условия и текстовые переменные ссылаются на элементы по Element ID, и при изменении ID ссылки не обновляются автоматически — они просто перестают работать. Задавайте Element ID до того, как будете на него ссылаться. Если вам всё же пришлось его изменить, обновите все условия и переменные, которые на него ссылаются. Исключение составляют сегменты прогресс-бара: при переименовании сегмента его ссылки обновляются автоматически.
Условие или переменная возвращает пустое значение
В списке переменных отображаются поля со всех экранов, поэтому условие или текстовая переменная могут ссылаться на поле, которое пользователь ещё не заполнил. В таком случае при выполнении флоу это значение окажется пустым. Ссылайтесь только на поля, собранные на предыдущих экранах.
Действие «Set variable» не меняет выбранный продукт
Выбранный продукт — это не переменная, поэтому Set variable не может изменить выбор. Используйте вместо этого действие Select product.
Изображение или видео не загружается
Файл, выходящий за пределы ограничений медиафайлов Flow & Paywall Builder, не загрузится. Проверьте файл на соответствие требованиям для изображений и видео:
| Элемент | Форматы | Максимальный размер файла | Другие ограничения |
|---|---|---|---|
| Изображение | .JPG, .PNG, .WEBP | 20 МБ | — |
| Видео | .MP4, .WEBM | 50 МБ | Не более 30 секунд; минимум 640×640 пикселей |
Следующие форматы не поддерживаются:
- Анимированные GIF и анимированные WEBP: для добавления анимации используйте элемент Video.
- SVG: экспортируйте файл в формате PNG или WEBP. Для иконок ничего загружать не нужно — элемент Icon берёт иконки из встроенной библиотеки Tabler Icons.
Нижний колонтитул не отображается
Нижний колонтитул отображается только на экране с включённой опцией Vertical scroll. Включите Vertical scroll в Screen settings > Scroll.