Распространённые проблемы

В этой статье собраны наиболее частые проблемы, возникающие при создании флоу в 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 requiredoffer_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 во время разработки. Если флоу не публикуется, он не загрузится и там — а сообщение об ошибке укажет на конкретную проблему.

Tip

Чтобы проверить, готов ли флоу к продакшну, запустите скилл flow-audit. Он проверяет то, что не покрывают ошибки публикации: нерабочие кнопки, соответствие требованиям стора, незаконченные тексты и покрытие переводов. В отчёте для каждой проблемы указан элемент и экран.

Публикация завершается ошибкой «Something went wrong» без подробностей

Уведомление «Something went wrong» после неудачной публикации с адресом поддержки и Request ID для копирования

Запрос на публикацию завершился ошибкой на стороне 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, .WEBP20 МБ
Видео.MP4, .WEBM50 МБНе более 30 секунд; минимум 640×640 пикселей

Следующие форматы не поддерживаются:

  • Анимированные GIF и анимированные WEBP: для добавления анимации используйте элемент Video.
  • SVG: экспортируйте файл в формате PNG или WEBP. Для иконок ничего загружать не нужно — элемент Icon берёт иконки из встроенной библиотеки Tabler Icons.

Нижний колонтитул отображается только на экране с включённой опцией Vertical scroll. Включите Vertical scroll в Screen settings > Scroll.