Показ предложения при нажатии кнопки закрытия
Когда пользователь нажимает кнопку закрытия, он собирается уйти без оплаты. Этот рецепт перехватывает первое нажатие: вместо закрытия пейвола отображается оверлей с финальным предложением. Когда пользователь закрывает это предложение, кнопка закрытия работает в штатном режиме и закрывает флоу.
Логика использует одну пользовательскую булеву переменную и одно условное действие:
close_tappedначинается какFalse.- Первое нажатие на закрытие показывает оверлей с предложением и устанавливает
close_tappedвTrue. - Любое последующее нажатие на закрытие закрывает флоу.
Перед началом
- Создайте экран пейвола с кнопкой закрытия — например, следуйте гайду Создание базового экрана пейвола.
- Создайте продукт с оффером для продвижения в оверлее.
1. Создайте переменную
Подробнее о пользовательских переменных см. в разделе Переменные.
- На левой панели нажмите иконку { }, чтобы открыть Variables.
- На вкладке Custom нажмите +.
- Назовите переменную
close_tappedи установите Value Type в значение Boolean. Оставьте Initial Value равным False. - Нажмите Create variable.
2. Создайте оверлей предложения
Оверлей — это контейнер, который прикреплён к экрану устройства и располагается поверх пейвола. Создайте его видимым — скрытые элементы нельзя редактировать, поэтому вы скроете его на шаге 4, когда контент будет на месте.
- Нажмите + > Layout > Vertical Container.
- Выделив контейнер, откройте вкладку Design и установите Position в значение Fixed. Задайте горизонтальное выравнивание Left & Right и вертикальное выравнивание Top. Поскольку вертикального центрирования нет, введите отступ сверху (например,
300), чтобы сдвинуть оверлей к середине экрана. - В разделе Fill задайте фон — сплошной цвет или изображение. По умолчанию контейнер прозрачный, и без заливки пейвол будет просвечивать сквозь оверлей.
- Добавьте содержимое оффера. Выделив контейнер на панели Layers, нажмите + > Text > H2. Чтобы показать цену со скидкой, вставьте переменные оффера, например
offer_price, в поле Content. - Нажмите + > Products, выберите пресет макета и перетащите его в оверлей. Выделите карточку продукта на канвасе и выберите продукт и оффер на вкладке Design.
- Нажмите + > Buttons, выберите пресет кнопки и перетащите его в оверлей. На вкладке Interactions нажмите Add trigger > On tap > Add action, затем установите Action в значение Purchase, а Product — в ваш продукт с оффером.
3. Добавьте кнопку закрытия на оверлей
У оверлея должна быть своя кнопка закрытия. Её действие должно скрывать оверлей, а не закрывать флоу.
- Выделите оверлей, нажмите + > Buttons > Close flow.
- Выделите кнопку и откройте вкладку Interactions. В пресете уже настроено действие Close Flow. Нажмите на него и измените тип на Hide element. В качестве цели укажите контейнер оверлея.
Не оставляйте предустановленное действие Close Flow на кнопке закрытия оверлея — оно закроет весь флоу, а не скроет оверлей.
4. Скройте оверлей
Оверлей должен оставаться невидимым до первого нажатия на кнопку закрытия.
На панели Layers выберите контейнер оверлея и установите его состояние в Hide . Оверлей останется в дереве слоёв, но больше не будет отображаться на холсте.
5. Настройте кнопку закрытия
Замените стандартное действие кнопки закрытия на условное действие с ветвлением по close_tapped.
Подробнее об условных действиях см. в разделе Действия — Условные действия.
- Выберите кнопку закрытия пейвола — ту, что на экране, а не кнопку закрытия оверлея.
- Откройте вкладку Interactions, нажмите на предварительно настроенное действие Close Flow и измените его тип на Conditional Action.
- В блоке if нажмите Add condition и задайте:
close_tappedEquals False. - В блоке then добавьте два действия:
- Set Variable: установите
close_tappedв True.
- Set Variable: установите
-
Show element: Укажите цель — оверлей с предложением.
-
В блоке else добавьте действие Close Flow.
Теперь первое нажатие на закрытие показывает предложение. После того как пользователь отклоняет его, повторное нажатие на закрытие соответствует ветке else и закрывает флоу.
Следующие шаги
- Сохраните и опубликуйте флоу.
- Добавьте флоу в плейсмент, чтобы начать показывать его пользователям.