用户点击关闭时显示优惠
当用户点击关闭按钮时,他们即将不付款就离开。这个方案会拦截第一次点击关闭的操作:不立即关闭付费墙,而是弹出一个最后机会优惠的浮层。当用户关闭该优惠后,关闭按钮才正常工作并退出流程。
整个逻辑只需要一个自定义布尔变量和一个条件操作:
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。如需显示折扣价格,可在 Content 字段中插入优惠变量,例如
offer_price。 - 点击 + > 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 分支并退出流程。