变量
变量让你在流程中展示动态内容——产品定价、优惠详情,以及其他根据每位用户上下文实时更新的数据。你可以用变量控制元素的显示状态,并个性化页面内容。
点击左侧面板中的 { } 图标即可打开变量面板。该面板包含三个标签页:
自定义变量
创建自定义变量
- 在变量面板中,点击 +。
- 输入变量名称。
- 选择类型:String、Number 或 Boolean。
- 设置初始值。这是流程启动时变量所持有的值。
- 点击 Create variable。
在名称中使用点号可以将相关变量分组,例如 user.score 或 user.goal。
通过交互更新变量
详情请参阅 Actions 文章。
你可以在运行时通过为任意元素添加 Set up variables 动作来更新变量值。
- 在画布上选择一个元素。
- 在 Interactions 标签页中,点击 Add trigger。
- 选择 On tap,然后点击 Add action。在 Action type 下拉菜单中选择 Set up variables。
- 点击 Add variable,选择变量并设置新值。
例如,您可以根据用户选择的测验答案为 user.goal 赋予不同的值,然后使用该变量将用户导航到不同的页面。
产品变量
产品变量直接从各应用商店获取本地化数据。你可以在文本字段中使用它们来展示本地化价格、标题和优惠详情,也可以在条件判断中根据优惠资格显示或隐藏相应内容。
| 变量 | 描述 | 示例 |
|---|---|---|
prod_title | 产品的本地化标题 | Premium Subscription |
prod_price | 每个计费周期的本地化价格 | $9.99 |
prod_price_per_day | 订阅价格除以计费周期天数。非订阅商品为空。 | $0.33 |
prod_price_per_week | 订阅价格除以计费周期周数。非订阅商品为空。 | $2.33 |
prod_price_per_month | 折算为一个月的订阅价格。非订阅商品为空。 | $9.99 |
prod_price_per_year | 折算为一年的订阅价格。非订阅商品为空。 | $119.88 |
offer_price | 新用户优惠或促销活动的本地化价格。若用户不符合任何优惠条件则为空。 | $0.99 |
offer_billing_period | 优惠的本地化计费周期。对于免费试用和预付优惠,与 offer_full_duration 相同。若用户不符合条件则为空。 | 1 week |
offer_full_duration | 优惠的本地化完整时长。若用户不符合条件则为空。 | 1 month |
is_free_trial | 若用户符合免费试用优惠条件,返回 true。 | true |
is_pay_up_front | 若用户符合预付优惠条件,返回 true。 | true |
is_pay_as_you_go | 若用户符合按量付费优惠条件,返回 true。 | true |
使用 is_free_trial、is_pay_up_front 和 is_pay_as_you_go 配合条件可见性,根据用户符合条件的优惠类型来显示或隐藏元素。例如,仅在 is_free_trial 为 true 时显示免费试用时间线。
优惠变量的值取决于用户符合条件的优惠类型。以一个名为”Premium Subscription”的每周订阅为例,售价 $5,包含三种可能的优惠:
- 按使用量付费:前 3 周每周 $3(按周计费),之后每周 $5。
- 预付款:前 3 周一次性付 $8,之后每周 $5。
- 免费试用:第一周免费,之后每周 $5。
在此示例中,prod_title 返回”Premium Subscription”,prod_price 返回 $5。优惠变量的值取决于用户有资格享受哪种优惠:
| 变量 | 按使用量付费 | 预付款 | 免费试用 |
|---|---|---|---|
offer_price | $3 | $8 | $0 |
offer_billing_period | 1 周 | 3 周 | 1 周 |
offer_full_duration | 3 周 | 3 周 | 1 周 |
对于”预付款”和”免费试用”优惠,offer_billing_period 和 offer_full_duration 返回相同的值。对于”随用随付”,两者不同,因为计费周期为一周,但完整时长为三周。 |
如需了解更多关于优惠及其配置方式,请参阅优惠。
元素变量
元素变量用于捕捉用户的选择——他们在测验中选了什么、当前处于哪个标签页,以及试用切换是否开启。
元素变量的类型取决于所属分组:
- 单选:单选测验和标签页:
selected_id:用于条件判断的元素 IDselected_title:用于动态文本的元素标题
- 多选:多选测验:
selected_ids:用于条件判断的元素 ID 列表selected_titles:用于动态文本的元素标题列表
- 切换:试用切换:
is_selected:布尔值 常见使用场景包括:
- 根据试用切换是否开启来展示不同内容。
- 根据用户的问卷答案将用户导航至不同页面。
在文本中使用变量
在文本元素中插入变量:
- 在画布上选择一个文本元素。
- 在 Design 标签页中,找到 Content 字段并输入文本内容。
- 点击字段中的 { } 图标。
- 从列表中选择一个变量。
你也可以在其他元素中使用变量:
- 在链接和提示框中使用变量,使其内容动态化
- 基于变量创建动态条件。例如,条件可以是
if experience.current > experience.target, navigate to...
样式变量
变量本身不支持富文本格式。在 Content 字段中选中变量后,对其应用加粗、斜体、下划线、删除线或更改颜色均不会生效。
富文本设置只对整个文本块生效。如需设置文本样式,请使用 Design 标签页的 Typography 部分,或应用已保存的文本样式。
在多个屏幕之间复用内容
流程中有些内容会在多个屏幕重复出现——比如”继续”这样的按钮文字、反复出现的行动号召,或者在多个屏幕都需要展示的免责声明。较长的文本也是如此,例如在多个屏幕复用的功能描述。与其在每个元素中逐一输入这些内容,不如将其保存为自定义变量。当你需要将不同用户引导至不同屏幕,但又希望各处措辞保持一致时,这种方式尤为实用。
- 创建一个自定义变量,类型选择 String,并将其初始值设置为你想复用的文本。例如,将其命名为
button.navigation,值设置为Continue。
- 将此变量插入每个需要显示该文本的元素的 Content 字段中。 只需更新变量的初始值,文本就会在所有用到该变量的地方同步更新,无需逐一手动编辑每个页面。