Biến số

Biến số cho phép bạn hiển thị nội dung động trong các flow — giá sản phẩm, chi tiết ưu đãi và các dữ liệu khác thay đổi theo ngữ cảnh của từng người dùng. Dùng biến số để kiểm soát hiển thị phần tử và cá nhân hóa nội dung màn hình.

Để mở bảng biến số, nhấp vào biểu tượng { } ở bảng bên trái. Bảng có ba tab:

  • Tùy chỉnh: Các biến bạn tự tạo và quản lý.
  • Sản phẩm: Các biến tích hợp sẵn lấy dữ liệu sản phẩm và ưu đãi đã được bản địa hóa từ cửa hàng.
  • Phần tử: Các biến gắn với trạng thái phần tử trên canvas.

Biến tùy chỉnh (Custom variables)

Tạo biến tùy chỉnh

  1. Trong bảng biến, nhấn +.
  2. Nhập tên cho biến.
  3. Chọn kiểu dữ liệu: String, Number, hoặc Boolean.
  4. Đặt giá trị khởi tạo. Đây là giá trị biến sẽ giữ khi flow bắt đầu.
  5. Nhấn Create variable.
Tip

Dùng dấu chấm trong tên để nhóm các biến liên quan — ví dụ: user.score hoặc user.goal.

Tạo một biến tùy chỉnh

Cập nhật biến thông qua một tương tác

Bạn có thể cập nhật giá trị biến tại runtime bằng cách thêm hành động Set variable vào bất kỳ phần tử nào.

  1. Chọn một phần tử trên canvas.
  2. Trong tab Interactions, nhấp vào Add trigger.
  3. Chọn On tap và nhấp vào Add action. Từ danh sách thả xuống Action type, chọn Set variable.
  4. Nhấp vào Add variable. Chọn biến và đặt giá trị mới.
Tip

Ví dụ, bạn có thể gán giá trị khác nhau cho user.goal tùy theo câu trả lời bài kiểm tra mà người dùng chọn, rồi dùng biến đó để điều hướng họ đến màn hình khác nhau.

Cập nhật biến thông qua tương tác

Biến sản phẩm (Product variables)

Biến sản phẩm tự động lấy dữ liệu đã bản địa hóa trực tiếp từ các cửa hàng ứng dụng. Dùng chúng trong các trường văn bản để hiển thị giá, tiêu đề và thông tin ưu đãi đã được bản địa hóa, hoặc trong các điều kiện để hiện/ẩn nội dung dựa trên điều kiện đủ điều kiện nhận ưu đãi của người dùng.

VariableDescriptionExample
prod_titleTiêu đề đã được bản địa hóa của sản phẩmPremium Subscription
prod_priceGiá đã được bản địa hóa cho một chu kỳ thanh toán$9.99
prod_price_per_dayGiá gói đăng ký quy đổi theo ngày. Để trống với sản phẩm mua một lần.$0.33
prod_price_per_weekGiá gói đăng ký quy đổi theo tuần. Để trống với sản phẩm mua một lần.$2.33
prod_price_per_monthGiá gói đăng ký quy đổi theo tháng. Để trống với sản phẩm mua một lần.$9.99
prod_price_per_yearGiá gói đăng ký quy đổi theo năm. Để trống với sản phẩm mua một lần.$119.88
offer_priceGiá đã được bản địa hóa của ưu đãi giới thiệu hoặc ưu đãi. Để trống nếu người dùng không đủ điều kiện nhận ưu đãi nào.$0.99
offer_billing_periodChu kỳ thanh toán đã được bản địa hóa của một ưu đãi. Giống với offer_full_duration đối với ưu đãi dùng thử miễn phí và trả trước. Để trống nếu người dùng không đủ điều kiện.1 week
offer_full_durationToàn bộ thời hạn đã được bản địa hóa của một ưu đãi. Để trống nếu người dùng không đủ điều kiện.1 month
is_free_trialTrả về true nếu người dùng đủ điều kiện nhận ưu đãi dùng thử miễn phí.true
is_pay_up_frontTrả về true nếu người dùng đủ điều kiện nhận ưu đãi trả trước.true
is_pay_as_you_goTrả về true nếu người dùng đủ điều kiện nhận ưu đãi trả theo mức sử dụng.true

Các biến prod_price_per_* chuyển đổi giá từ chu kỳ thanh toán của sản phẩm sang chu kỳ bạn muốn. Phép chuyển đổi sử dụng độ dài chu kỳ cố định, không theo ngày lịch:

  • 1 tuần = 7 ngày
  • 1 tháng = 30 ngày
  • 1 năm = 12 tháng, hoặc 365 ngày

Với gói đăng ký hàng tháng giá $59.99, prod_price_per_week trả về $14.00: $59.99 × 7 ÷ 30 = $13.9977, được làm tròn khi hiển thị. Một tháng có 30 / 7 ≈ 4,2857 tuần, vì vậy nhân giá trị theo tuần với 4 sẽ không ra giá gốc.

Tip

Dùng is_free_trial, is_pay_up_frontis_pay_as_you_go với tính năng hiển thị có điều kiện để hiện hoặc ẩn phần tử dựa trên ưu đãi mà người dùng đủ điều kiện nhận. Ví dụ, chỉ hiển thị dòng thời gian dùng thử miễn phí khi is_free_trialtrue.

Giá trị của biến ưu đãi phụ thuộc vào loại ưu đãi mà người dùng đủ điều kiện nhận. Để minh họa, hãy lấy một gói đăng ký hàng tuần tên “Premium Subscription” với giá $5, có ba ưu đãi khả dụng:

  • Pay As You Go: 3 tuần đầu với giá $3 (tính theo tuần), sau đó $5/tuần.
  • Pay Up Front: 3 tuần đầu với giá $8 (tính một lần ngay lập tức), sau đó $5/tuần.
  • Free Trial: Tuần đầu miễn phí, sau đó $5/tuần.

Trong ví dụ này, prod_title trả về “Premium Subscription” và prod_price trả về $5. Giá trị của biến ưu đãi phụ thuộc vào ưu đãi mà người dùng đủ điều kiện nhận:

BiếnPay As You GoPay UpfrontFree Trial
offer_price$3$8$0
offer_billing_period1 week3 weeks1 week
offer_full_duration3 weeks3 weeks1 week

Với ưu đãi Pay Upfront và Free Trial, offer_billing_periodoffer_full_duration trả về cùng một giá trị. Với Pay As You Go, hai giá trị này khác nhau vì chu kỳ thanh toán là một tuần nhưng tổng thời hạn là ba tuần.

Note

Để tìm hiểu thêm về ưu đãi và cách cấu hình, xem Offers.

Biến phần tử

Biến phần tử ghi lại lựa chọn của người dùng — những gì họ đã chọn trong quiz, tab họ đang xem, và trạng thái bật/tắt của toggle dùng thử.

Loại biến của phần tử tùy thuộc vào nhóm:

  • Single choice: Quiz chọn một, tab và trial toggle:
    • selectedOptionId: ID phần tử dùng trong điều kiện
    • selectedOptionTitle: Tiêu đề phần tử dùng trong văn bản động
  • Multi-choice: Quiz chọn nhiều:
    • selectedOptionIds: Danh sách ID phần tử dùng trong điều kiện
    • selectedOptionTitles: Danh sách tiêu đề phần tử dùng trong văn bản động
  • Toggle: Phần tử bật/tắt:
    • isActive: Giá trị Boolean
  • Product: Thẻ sản phẩm:
    • selectedProduct: Sản phẩm được chọn, dùng trong điều kiện

Các trường hợp sử dụng phổ biến bao gồm:

Dùng biến trong văn bản

Để chèn biến vào phần tử văn bản:

  1. Chọn một phần tử văn bản trên canvas.
  2. Trong tab Design, tìm trường Content và nhập văn bản của bạn.
  3. Nhấn vào biểu tượng { } trong trường đó.
  4. Chọn biến từ danh sách.
Tip

Bạn cũng có thể dùng biến trong các phần tử khác:

  • Dùng biến trong liên kết và cảnh báo để tạo nội dung động
  • Tạo điều kiện động dựa trên biến. Ví dụ, điều kiện có thể là if experience.current > experience.target, navigate to...
Chèn biến vào phần tử văn bản

Định dạng biến

Bạn không thể áp dụng định dạng văn bản phong phú cho một biến riêng lẻ. Việc chọn biến trong trường Content và áp dụng in đậm, in nghiêng, gạch chân, gạch ngang, hoặc thay đổi màu sắc sẽ không có hiệu lực.

Cài đặt văn bản phong phú chỉ áp dụng cho toàn bộ khối văn bản. Để định dạng văn bản, dùng phần Typography trong tab Design, hoặc áp dụng kiểu văn bản đã lưu.

Tái sử dụng nội dung trên nhiều màn hình

Một số nội dung lặp lại trong flow của bạn — nhãn nút như “Continue”, lời kêu gọi hành động thường xuyên, hoặc một tuyên bố miễn trách hiển thị trên nhiều màn hình. Điều tương tự áp dụng cho văn bản dài hơn, chẳng hạn như mô tả tính năng được tái sử dụng trên nhiều màn hình. Thay vì nhập nội dung này vào từng phần tử, hãy lưu vào một biến tùy chỉnh. Điều này hữu ích khi bạn điều hướng người dùng khác nhau đến các màn hình khác nhau nhưng muốn cách diễn đạt nhất quán trên tất cả.

  1. Tạo một biến tùy chỉnh kiểu String và đặt giá trị khởi tạo là văn bản bạn muốn tái sử dụng. Ví dụ, đặt tên là button.navigation và giá trị là Continue.
    Tạo biến tùy chỉnh với giá trị khởi tạo được đặt thành văn bản có thể tái sử dụng
  2. Chèn biến này vào trường Content của từng phần tử mà văn bản cần xuất hiện.

Để thay đổi văn bản ở mọi nơi, chỉ cần cập nhật giá trị khởi tạo của biến một lần. Mọi phần tử sử dụng biến đó sẽ tự động cập nhật, giúp bạn không phải chỉnh sửa từng màn hình thủ công.

Cùng một biến tùy chỉnh được chèn vào trường Content trên nhiều phần tử khác nhau