变量

变量让你在流程中展示动态内容——产品定价、优惠详情,以及其他根据每位用户上下文实时更新的数据。你可以用变量控制元素的显示状态,并个性化页面内容。

点击左侧面板中的 { } 图标即可打开变量面板。该面板包含三个标签页:

  • 自定义:由您自行创建和管理的变量。
  • 产品:从商店中获取本地化产品和优惠数据的内置变量。
  • 元素:绑定到画布上元素状态的变量。

自定义变量

创建自定义变量

  1. 在变量面板中,点击 +
  2. 输入变量名称。
  3. 选择类型:String、Number 或 Boolean。
  4. 设置初始值。这是流程启动时变量所持有的值。
  5. 点击 Create variable

在名称中使用点号可以将相关变量分组,例如 user.scoreuser.goal

Creating a custom variable

通过交互更新变量

详情请参阅 Actions 文章。

你可以在运行时通过为任意元素添加 Set up variables 动作来更新变量值。

  1. 在画布上选择一个元素。
  2. Interactions 标签页中,点击 Add trigger
  3. 选择 On tap,然后点击 Add action。在 Action type 下拉菜单中选择 Set up variables
  4. 点击 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若用户符合免费试用优惠条件,返回 truetrue
is_pay_up_front若用户符合预付优惠条件,返回 truetrue
is_pay_as_you_go若用户符合按量付费优惠条件,返回 truetrue

使用 is_free_trialis_pay_up_frontis_pay_as_you_go 配合条件可见性,根据用户符合条件的优惠类型来显示或隐藏元素。例如,仅在 is_free_trialtrue 时显示免费试用时间线。

优惠变量的值取决于用户符合条件的优惠类型。以一个名为”Premium Subscription”的每周订阅为例,售价 $5,包含三种可能的优惠:

  • 按使用量付费:前 3 周每周 $3(按周计费),之后每周 $5。
  • 预付款:前 3 周一次性付 $8,之后每周 $5。
  • 免费试用:第一周免费,之后每周 $5。

在此示例中,prod_title 返回”Premium Subscription”,prod_price 返回 $5。优惠变量的值取决于用户有资格享受哪种优惠:

变量按使用量付费预付款免费试用
offer_price$3$8$0
offer_billing_period1 周3 周1 周
offer_full_duration3 周3 周1 周
对于”预付款”和”免费试用”优惠,offer_billing_periodoffer_full_duration 返回相同的值。对于”随用随付”,两者不同,因为计费周期为一周,但完整时长为三周。

如需了解更多关于优惠及其配置方式,请参阅优惠

元素变量

元素变量用于捕捉用户的选择——他们在测验中选了什么、当前处于哪个标签页,以及试用切换是否开启。

元素变量的类型取决于所属分组:

  • 单选:单选测验和标签页:
    • selected_id:用于条件判断的元素 ID
    • selected_title:用于动态文本的元素标题
  • 多选:多选测验:
    • selected_ids:用于条件判断的元素 ID 列表
    • selected_titles:用于动态文本的元素标题列表
  • 切换:试用切换:
    • is_selected:布尔值 常见使用场景包括:
  • 根据试用切换是否开启来展示不同内容。
  • 根据用户的问卷答案将用户导航至不同页面

在文本中使用变量

在文本元素中插入变量:

  1. 在画布上选择一个文本元素。
  2. Design 标签页中,找到 Content 字段并输入文本内容。
  3. 点击字段中的 { } 图标。
  4. 从列表中选择一个变量。

你也可以在其他元素中使用变量:

  • 在链接和提示框中使用变量,使其内容动态化
  • 基于变量创建动态条件。例如,条件可以是 if experience.current > experience.target, navigate to...
将变量插入文本元素

样式变量

变量本身不支持富文本格式。在 Content 字段中选中变量后,对其应用加粗、斜体、下划线、删除线或更改颜色均不会生效。

富文本设置只对整个文本块生效。如需设置文本样式,请使用 Design 标签页的 Typography 部分,或应用已保存的文本样式

在多个屏幕之间复用内容

流程中有些内容会在多个屏幕重复出现——比如”继续”这样的按钮文字、反复出现的行动号召,或者在多个屏幕都需要展示的免责声明。较长的文本也是如此,例如在多个屏幕复用的功能描述。与其在每个元素中逐一输入这些内容,不如将其保存为自定义变量。当你需要将不同用户引导至不同屏幕,但又希望各处措辞保持一致时,这种方式尤为实用。

  1. 创建一个自定义变量,类型选择 String,并将其初始值设置为你想复用的文本。例如,将其命名为 button.navigation,值设置为 Continue
    创建一个自定义变量,其初始值设置为可复用的文本
  2. 将此变量插入每个需要显示该文本的元素的 Content 字段中。 只需更新变量的初始值,文本就会在所有用到该变量的地方同步更新,无需逐一手动编辑每个页面。
同一自定义变量插入多个元素的 Content 字段中