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
- Trong bảng biến, nhấn +.
- Nhập tên cho biến.
- Chọn kiểu dữ liệu: String, Number, hoặc Boolean.
- Đặt giá trị khởi tạo. Đây là giá trị biến sẽ giữ khi flow bắt đầu.
- Nhấn Create variable.
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.
Cập nhật biến thông qua một tương tác
Xem bài viết Hành động để biết thêm chi tiết.
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.
- Chọn một phần tử trên canvas.
- Trong tab Interactions, nhấp vào Add trigger.
- Chọn On tap và nhấp vào Add action. Từ danh sách thả xuống Action type, chọn Set variable.
- Nhấp vào Add variable. Chọn biến và đặt giá trị mới.
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.
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.
| Variable | Description | Example |
|---|---|---|
prod_title | Tiêu đề đã được bản địa hóa của sản phẩm | Premium Subscription |
prod_price | Giá đã được bản địa hóa cho một chu kỳ thanh toán | $9.99 |
prod_price_per_day | Giá 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_week | Giá 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_month | Giá 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_year | Giá 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_price | Giá đã đượ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_period | Chu 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_duration | Toà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_trial | Trả 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_front | Trả về true nếu người dùng đủ điều kiện nhận ưu đãi trả trước. | true |
is_pay_as_you_go | Trả 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.
Dùng is_free_trial, is_pay_up_front và is_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_trial là true.
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ến | Pay As You Go | Pay Upfront | Free Trial |
|---|---|---|---|
offer_price | $3 | $8 | $0 |
offer_billing_period | 1 week | 3 weeks | 1 week |
offer_full_duration | 3 weeks | 3 weeks | 1 week |
Với ưu đãi Pay Upfront và Free Trial, offer_billing_period và offer_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.
Để 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ệnselectedOptionTitle: 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ệnselectedOptionTitles: 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:
- Hiển thị nội dung khác nhau tùy theo nút bật/tắt dùng thử có đang bật hay không.
- Điều hướng người dùng đến các màn hình khác nhau dựa trên câu trả lời bài kiểm tra của họ
Dùng biến trong văn bản
Để chèn biến vào phần tử văn bản:
- Chọn một phần tử văn bản trên canvas.
- Trong tab Design, tìm trường Content và nhập văn bản của bạn.
- Nhấn vào biểu tượng { } trong trường đó.
- Chọn biến từ danh sách.
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...
Đị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ả.
- 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.navigationvà giá trị làContinue.
- 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.