ÿÿ Hành động | Flow Builder | Tài liệu Adapty

Hành động

Panel Interactions cho phép bạn xác định cách các phần tá»­ trong flow phản hồi vá»›i các sá»± kiện — chẳng hạn như chạm, xuất hiện phần tá»­ và gá»­i form. Vá»›i má»—i sá»± kiện, bạn gán má»™t hoặc nhiá»u hành động: Ä‘iá»u hướng giữa các màn hình, hiển thị hoặc ẩn các phần tá»­, mở URL, đặt biến và nhiá»u hÆ¡n nữa. Sá»­ dụng Ä‘iá»u kiện để tùy chỉnh flow dá»±a trên dữ liệu ngưá»i dùng.

Mỗi tương tác tuân theo một chuỗi ba phần:

  1. Element: Thành phần màn hình khởi đầu tương tác — má»™t nút, câu trả lá»i quiz, trưá»ng nhập liệu, hoặc bất kỳ thứ gì khác.
  2. Trigger: Sự kiện kích hoạt logic, chẳng hạn như thao tác chạm, một phần tử xuất hiện, hoặc việc gửi form.
  3. Action: Tác vụ mà flow thá»±c hiện để phản hồi. Má»™t trigger có thể chạy nhiá»u action theo thứ tá»±.

Thiết lập tương tác

Äể thiết lập má»™t tương tác:

  1. Chá»n má»™t phần tá»­ trên màn hình hoặc trong panel Layers.
  2. Ở bên phải, chuyển sang panel Interactions và nhấn Add trigger.
Nút Add trigger
  1. Trong phần Button triggers, chá»n loại trigger.
Chá»n loại trigger
  1. Nhấn Add action, nhấn vào tên action, rồi chá»n loại action từ dropdown trong cá»­a sổ Edit action.
Add action button
  1. Cấu hình thuá»™c tính cá»§a action dá»±a trên loại action bạn đã chá»n.
  2. Nếu cần, nhấp Add action để thêm nhiá»u action cho cùng má»™t trigger.

Các loại trigger

Trigger kích hoạt theo hành vi cá»§a ngưá»i dùng, trạng thái thay đổi cá»§a phần tá»­, hoặc khi màn hình tải. On screen appear là loại phổ quát; các loại còn lại dành riêng cho từng phần tá»­.

TriggerKích hoạt khi…Hỗ trợ trên
On screen appearMàn hình tảiTất cả các phần tử
On tapNgưá»i dùng nhấn vào phần tá»­Buttons, quiz options, toggles, countdowns, videos
On changedNgưá»i dùng thay đổi giá trị cá»§a input (gõ phím, chá»n ngày hoặc giá»)Tất cả input elements
On submitNgưá»i dùng gá»­i text input bằng cách nhấn Enter hoặc Done trên bàn phímText-based inputs
On timer endMột phần tử Countdown chạm vỠkhôngCountdown
On playback finishedMột Video phát đến hếtVideo
Äối vá»›i các phần tá»­ không có tương tác tích hợp sẵn (như Loader), On screen appear là trigger duy nhất có sẵn.

Các loại hành động

Bất kỳ hành động Ä‘iá»u hướng nào đưa ngưá»i dùng đến màn hình khác phải luôn là hành động cuối cùng trong danh sách. Các hành động đặt sau nó (như “Set Variableâ€) có thể không thá»±c thi vì ứng dụng đã chuyển sang màn hình khác rồi.

Äây là hành động chính để chuyển ngưá»i dùng giữa các màn hình. Hành động này đưa ngưá»i dùng đến màn hình đích đã được chỉ định.

Vá»›i hành động này, bạn chỉ cần thiết lập màn hình đích. Nếu muốn bật tính năng Ä‘iá»u hướng động, hãy xem Äiá»u hướng và phân nhánh hoặc phần Hành động có Ä‘iá»u kiện.

Äiá»u hướng đến màn hình

Chuyển ngưá»i dùng đến màn hình tiếp theo theo thứ tá»± màn hình trong flow. Dùng tính năng này cho các flow tuyến tính, nÆ¡i thứ tá»± màn hình trong trình chỉnh sá»­a khá»›p vá»›i thứ tá»± bạn muốn ngưá»i dùng xem.

ÄÆ°a ngưá»i dùng trở lại màn hình trước đó trong lịch sá»­ Ä‘iá»u hướng, thay vì màn hình trước đó trong chuá»—i trình tá»±.

Mở URL

Dùng liên kết ná»™i tuyến để chèn liên kết vào văn bản thông thưá»ng.

Mở má»™t địa chỉ web cụ thể. Dùng tính năng này để đưa ngưá»i dùng đến các trang web, bài viết, hoặc trang mạng xã há»™i bên ngoài màn hình native cá»§a ứng dụng. Vá»›i hành động này, bạn có thể cấu hình hai thiết lập:

  • URL address: Äặt địa chỉ URL. Ngoài ra, bạn có thể làm cho URL trở nên động — ví dụ: Ä‘iá»u hướng ngưá»i dùng đến các trang khác nhau dá»±a trên câu trả lá»i quiz hoặc dữ liệu hỠđã nhập. Äể làm Ä‘iá»u này, nhấp vào Variable icon và chá»n biến bạn muốn sá»­ dụng.
  • Open in external browser: Xác định nÆ¡i bạn muốn mở các liên kết bên ngoài. Mặc định, các liên kết sẽ mở trong trình duyệt trong ứng dụng để giữ ngưá»i dùng ở lại trong app. Chá»n há»™p kiểm Open in external browser nếu bạn muốn mở liên kết trong trình duyệt bên ngoài.
Open URL

Äóng flow

Äóng flow hiện tại.

Hiển thị/ẩn phần tử

Hiển thị hoặc ẩn một phần tử cụ thể trên màn hình.

Hành động này ghi đè trạng thái ban đầu được thiết lập trong Visibility ở bảng Design. Nếu Visibility được đặt thành Hide, hành động Show sẽ làm cho phần tử đó xuất hiện.

Hành động Show hoặc Hide không có phần tá»­ mục tiêu sẽ chặn việc xem trước và xuất bản. Hãy chá»n má»™t mục tiêu hoặc xóa hành động đó.

Hiển thị cảnh báo

Hiển thị má»™t cá»­a sổ pop-up hệ thống gốc. Ngưá»i dùng phải nhấn Ok để tiếp tục.

Vá»›i cảnh báo, bạn cần thiết lập Title và Message. Trong cả hai, bạn có thể dùng biến để làm ná»™i dung động. Äể thá»±c hiện, nhấn Variable icon và chá»n biến bạn muốn dùng.

Má»™t hành động Show alert có cấu hình trống hoặc chưa hoàn chỉnh sẽ chặn việc xem trước và xuất bản. Hãy Ä‘iá»n đầy đủ cả hai trưá»ng hoặc xóa hành động này Ä‘i.

Show alert

Äặt biến

Cập nhật giá trị của một biến trong flow. Trước khi thêm action này, hãy tạo các biến trong bảng Variables ở bên trái (xem Variables).

Nhấn Add variable và thiết lập số lượng biến cùng giá trị tương ứng tùy theo nhu cầu.

Một action Set variable không có phép gán nào sẽ chặn việc xem trước và xuất bản. Hãy cấu hình ít nhất một phép gán hoặc xóa action này đi.

Set variable

Mua hàng

Kích hoạt flow mua hàng trá»±c tiếp từ má»™t nút hoặc tương tác trong onboarding cá»§a bạn. Dùng tính năng này để cho phép ngưá»i dùng đăng ký hoặc mua sản phẩm mà không cần rá»i khá»i flow. Bạn có thể cấu hình hai hành vi cho action này:

  • In-app store: Khởi động má»™t giao dịch mua hàng native. Äặt Product thành má»™t sản phẩm cụ thể, hoặc products.selectedProduct cho lá»±a chá»n hiện tại cá»§a ngưá»i dùng trên màn hình.
  • Web payment: Chuyển ngưá»i dùng đến web paywall thay vì kích hoạt giao dịch mua hàng native. Dùng tùy chá»n này khi bạn muốn xá»­ lý giao dịch bên ngoài ứng dụng, chẳng hạn như các ưu đãi gói đăng ký qua web.

Một hành động Purchase không có Product hoặc Web Paywall URL đích sẽ chặn việc xem trước và xuất bản. Hãy gán mục tiêu hoặc xóa hành động đó.

Cấu hình hành động Purchase trong cửa sổ Edit action

Khôi phục giao dịch mua

Kích hoạt flow khôi phục giao dịch mua trên thiết bị. Ngưá»i dùng nhấn vào Ä‘Ãÿÿ¢y khi đã mua gói đăng ký trên thiết bị khác hoặc sau khi cài đặt lại ứng dụng và cần lấy lại quyá»n truy cập.

Không có gì cần cấu hình cho action này — Adapty xử lý việc khôi phục thông qua flow native của cửa hàng.

Action Restore purchases cũng được cấu hình sẵn trên liên kết Restore trong bộ preset nút Links (xem Thiết lập giao dịch mua).

Hành động tùy chỉnh

Hành động tùy chỉnh kích hoạt một Action ID được đặt tên mà chính code ứng dụng của bạn xử lý. Dùng khi các loại hành động tích hợp sẵn không đáp ứng được nhu cầu.

Adapty cung cấp trigger; ứng dụng của bạn thực thi hành vi:

  1. Trong builder, bạn gán một Action ID cho tương tác của một phần tử.
  2. Khi ngưá»i dùng kích hoạt tương tác, flow sẽ truyá»n ID đó đến ứng dụng cá»§a bạn.
  3. Ứng dụng của bạn khớp ID và chạy code của bạn.

Thiết lập hành động tùy chỉnh

  1. Trong cửa sổ Edit action, đặt Action ID — một chuỗi mà ứng dụng của bạn sẽ nhận diện (ví dụ: show_discount).
  2. Trong code ứng dụng, hãy triển khai một handler cho Action ID này. Xem Xử lý hành động paywall để biết chi tiết triển khai và ví dụ code.

Một hành động Custom không có Action ID sẽ chặn việc xem trước và xuất bản. Hãy gán Action ID hoặc xóa hành động đó.

Cấu hình hành động tùy chỉnh vá»›i trưá»ng Action ID trong cá»­a sổ Edit action

Những gì bạn có thể làm với custom action

Custom action tá»± nó không làm gì cả. Bạn đặt má»™t Action ID tÄ©nh trong builder, rồi code trong app cá»§a bạn xá»­ lý khi nhận được ID đó. Má»i trưá»ng hợp sá»­ dụng bên dưới Ä‘á»u theo cùng má»™t mẫu: gán ID trong flow, sau đó xá»­ lý nó trong code cá»§a bạn.

  • Kích hoạt má»™t sá»± kiện in-app: Gắn ID như viewed_special_offer, sau đó ghi lại sá»± kiện vào hệ thống analytics khi ứng dụng nhận được nó.
  • Yêu cầu quyá»n hệ thống: Gắn ID như request_location, sau đó gá»i há»™p thoại xin quyá»n từ hệ Ä‘iá»u hành trong ứng dụng. Vá»›i những quyá»n mà há»™p thoại không thể cấp, hãy mở phần cài đặt hệ thống cá»§a Ä‘iện thoại thay thế. Adapty không hiển thị há»™p thoại đó — ứng dụng cá»§a bạn má»›i là bên thá»±c hiện.
  • Bắt đầu xác thá»±c gốc: Gắn ID như login_google, sau đó hiển thị màn hình đăng nhập cá»§a riêng bạn. Flow không thể tá»± đăng nhập ngưá»i dùng.
  • Ãp dụng logic nghiệp vụ: Gắn ID như apply_discount, sau đó mở khóa ná»™i dung hoặc thay đổi trạng thái ứng dụng từ phía bạn.
  • Truyá»n câu trả lá»i quiz vỠứng dụng: Gán má»™t Action ID khác nhau cho má»—i lá»±a chá»n (ví dụ: goal_weight_loss và goal_muscle), sau đó Ä‘á»c ID đó trong code cá»§a bạn. Dùng ID này để đặt thuá»™c tính ngưá»i dùng tùy chỉnh mà bạn có thể phân khúc sau này. Vì action chỉ mang má»™t ID cố định, đây là cách duy nhất để ghi lại lá»±a chá»n — flow không thể gá»­i giá trị đã chá»n.

Má»™t custom action được kích hoạt ngay khi ngưá»i dùng chá»n má»™t tùy chá»n. Nếu ngưá»i dùng thay đổi câu trả lá»i, flow sẽ kích hoạt Action ID má»›i. Ứng dụng cá»§a bạn sẽ nhận cả hai theo thứ tá»± — ví dụ: goal_weight_loss, rồi goal_muscle. Hãy đảm bảo handler cá»§a bạn có tính idempotent để tín hiệu má»›i nhất luôn được ưu tiên.

Những gì custom action không thể làm

Custom action là tÄ©nh. Action ID được cố định ngay khi bạn build flow — nó không thể Ä‘á»c biến hay dữ liệu nhập cá»§a ngưá»i dùng. Khi action được kích hoạt, ứng dụng cá»§a bạn chỉ nhận được ID đó, không bao giá» là email, số Ä‘iện thoại hay dữ liệu nhập nào khác mà ngưá»i dùng đã Ä‘iá»n. Các trưá»ng nhập liệu vẫn nằm trong flow dưới dạng biến để phân nhánh và cá nhân hóa. Äể sá»­ dụng những giá trị đó trong ứng dụng, hãy thu thập chúng thông qua UI hoặc API cá»§a riêng bạn. Custom actions cÅ©ng là má»™t chiá»u. App cá»§a bạn không thể trả kết quả vá» cho flow, và flow cÅ©ng không chá» code cá»§a bạn chạy xong. Nếu sau custom action có action Navigate next, ngưá»i dùng sẽ chuyển sang màn hình tiếp theo ngay cả khi code cá»§a bạn thất bại — ví dụ như khi ngưá»i dùng đóng màn hình đăng nhập mà chưa đăng nhập. Kết hợp vá»›i Action ID cố định, Ä‘iá»u này loại trừ khả năng xác thá»±c dữ liệu nhập cá»§a ngưá»i dùng trong app — ví dụ như kiểm tra mã SMS ngưá»i dùng nhập và phân nhánh dá»±a trên kết quả. Nếu phần còn lại cá»§a flow phụ thuá»™c vào những gì code cá»§a bạn đã làm, hãy chia flow thành hai placement.

Tiếp tục flow dựa trên kết quả

Nếu một số màn hình chỉ nên xuất hiện sau khi một custom action thành công — ví dụ, các màn hình xuất hiện sau khi đăng nhập — hãy chia flow thành hai placement và để ứng dụng của bạn quyết định khi nào hiển thị phần thứ hai:

  1. Trong placement đầu tiên, tạo một flow kết thúc bằng một custom action (ví dụ: login).
  2. Trong ứng dụng cá»§a bạn, xá»­ lý Action ID: hiển thị màn hình đăng nhập và kiểm tra xem ngưá»i dùng đã đăng nhập chưa.
  3. Nếu ngưá»i dùng đã đăng nhập, hiển thị flow từ placement thứ hai vá»›i các màn hình tiếp theo. Bằng cách này, ứng dụng cá»§a bạn kiểm soát việc chuyển màn hình dá»±a trên kết quả thá»±c tế, thay vì flow tá»± Ä‘iá»u hướng tiến lên bất kể kết quả như thế nào.

Hành động có Ä‘iá»u kiện

Sá»­ dụng các hành động có Ä‘iá»u kiện để phân chia flow thành các nhánh khác nhau dá»±a trên dữ liệu ngưá»i dùng.

Má»™t số trưá»ng hợp sá»­ dụng phổ biến bao gồm:

  • Bạn có má»™t bài quiz trên màn hình và muốn Ä‘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 cá»§a há». Trong trưá»ng hợp này, hãy thêm hành động có Ä‘iá»u kiện vào má»™t nút.
  • Bạn muốn cung cấp các sản phẩm và ưu đãi khác nhau cho các nhóm ngưá»i dùng khác nhau. Äặt chúng trên các màn hình riêng biệt và thiết lập Ä‘iá»u kiện cho nút Ä‘iá»u hướng.
  • Bạn muốn bá» qua má»™t số bước cho ngưá»i dùng đã hoàn thành hướng dẫn trong phiên ứng dụng trước đó. Các hành động có Ä‘iá»u kiện hoạt động như má»™t chuá»—i if / else-if / else. Ứng dụng Ä‘á»c các quy tắc từ trên xuống dưới và dừng lại ở kết quả khá»›p đầu tiên:
  1. IF: Flow kiểm tra Ä‘iá»u kiện chính.
    • Kết quả là True? Flow thá»±c thi ngay các hành động THEN và dừng lại.
    • Kết quả là False? Flow bá» qua và chuyển sang phần tiếp theo.
  2. ELSE IF: Bạn có thể thêm các kiểm tra bổ sung tại đây (ví dụ: “Nếu không phải Premium, ngưá»i dùng có Ä‘ang dùng Trial không?â€).
  3. ELSE (Dự phòng): Nếu không có quy tắc nào ở trên khớp, flow sẽ thực thi các hành động trong phần cuối này.
  • Nếu má»™t quy tắc được thêm vào nhưng chưa có hành động nào được gán, việc khá»›p Ä‘iá»u kiện sẽ không làm gì cả.
  • Má»™t quy tắc chưa hoàn chỉnh (chưa có toán tá»­ hoặc giá trị) sẽ chặn việc xem trước và xuất bản.

Vá»›i má»—i quy tắc, chá»n má»™t biến để đánh giá và má»™t hành động để thá»±c thi. Bạn có thể đặt nhiá»u hÆ¡n má»™t hành động cho má»—i quy tắc.

Flow chỉ thá»±c thi má»™t quy tắc duy nhất — quy tắc đầu tiên khá»›p vá»›i Ä‘iá»u kiện. Nếu bạn cần thá»±c thi cả IF và ELSE IF cùng lúc, hãy thêm cả hai hành động vào IF.

Äể tìm hiểu cách làm cho các phần tá»­ có thể chá»n được và tổ chức chúng thành các nhóm để sá»­ dụng trong Ä‘iá»u kiện, xem Phần tá»­ có thể chá»n và nhóm.

Hành động có Ä‘iá»u kiện

Khắc phục sự cố

Má»i thao tác có trưá»ng bắt buá»™c bị thiếu sẽ chặn việc xem trước và xuất bản. Xem Lưu & xuất bản flow để biết danh sách đầy đủ.

ÿÿÿÿ