Vấn đề thường gặp

Bài viết này tổng hợp các vấn đề thường gặp nhất khi xây dựng flow trong Flow Builder, kèm theo nguyên nhân và cách khắc phục.

Flow không thể xem trước hoặc xuất bản

Publish error message in the Flow Builder web UI when a flow has incomplete actions

Bạn không thể xuất bản hoặc xem trước flow nếu có bất kỳ vấn đề nào sau đây.

  • Một tương tác với cấu hình chưa hoàn chỉnh. Các trường hợp phổ biến:
    • Hành động Open URL không có URL đích.
    • Hành động Navigate to screen không có màn hình đích — cũng xảy ra khi màn hình đích bị xóa sau khi đã thiết lập hành động.
    • Một conditional action không có toán tử hoặc giá trị.
    • Hành động Set variable không có biến/giá trị được gán.
    • Hành động Purchase không có sản phẩm (in-app store) hoặc không có Web Paywall URL (thanh toán qua web).
    • Hành động Custom không có Action ID.
    • Hành động Show alert có Tiêu đề hoặc Nội dung trống.
    • Hành động Show hoặc Hide không có phần tử nào được chọn.
    • Hành động Select product không có sản phẩm đích — cũng xảy ra khi phần tử sản phẩm đích bị xóa, bị chuyển ra khỏi nhóm sản phẩm của nó, hoặc nằm ở màn hình khác.
    • Hành động Select product được lưu bên trong một reusable component, hoặc nhắm đến một element ID được dùng trên nhiều hơn một màn hình.
  • Một màn hình không có phần tử nào.
  • Một phần tử sản phẩm chưa được gắn sản phẩm — có thể xảy ra nếu bạn xóa sản phẩm đang được tham chiếu.
  • Một Remote Config JSON không hợp lệ sẽ phá vỡ toàn bộ quá trình phân phối — bạn thậm chí không thể lưu bản nháp.

Để phát hiện những lỗi này trước khi xuất bản, hãy xem trước flow trên ứng dụng Adapty. Nếu flow không tải được, thông báo lỗi sẽ cho bạn biết thêm chi tiết.

Danh sách này chỉ đề cập đến những gì ngăn flow khỏi được lưu. Một flow có thể vượt qua tất cả các kiểm tra này nhưng vẫn không an toàn cho người dùng thực — không có nút khôi phục, nút mua bị hỏng, thiếu bản dịch. Thay vào đó, kỹ năng kiểm tra flow sẽ kiểm tra những vấn đề đó, và kết thúc bằng kết quả đạt/không đạt thay vì thông báo lỗi.

Xuất bản thất bại với thông báo “Something went wrong”

Lỗi này có nghĩa là yêu cầu xuất bản thất bại ở phía Adapty, không phải do flow của bạn bị cấu hình sai — đó là lý do thông báo hiển thị chung chung. Phiên bản đang chạy của bạn không thay đổi. Hãy sao chép Request ID từ thông báo lỗi và gửi đến support@adapty.io để đội ngũ hỗ trợ có thể tìm ra yêu cầu bị lỗi.

Ưu đãi không được áp dụng khi mua hàng

Builder xác thực rằng mỗi phần tử sản phẩm có một sản phẩm, nhưng không xác thực ưu đãi của sản phẩm đó. Nếu ưu đãi sau đó bị thay đổi hoặc xóa trong cửa hàng hoặc trong Adapty, flow vẫn được xuất bản và quá trình mua hàng sẽ chạy mà không có ưu đãi. Sau khi thay đổi ưu đãi, hãy mở lại flow, chọn lại ưu đãi cho từng phần tử sản phẩm bị ảnh hưởng, rồi xuất bản lại.

Giá ưu đãi trống trong phần xem trước

Phần xem trước trong builder không thể kết nối đến các cửa hàng, vì vậy offer_price, offer_billing_periodoffer_full_duration sẽ hiển thị tên biến trong dấu ngoặc nhọn thay vì giá trị thực. Chúng sẽ được giải quyết khi SDK render flow trong ứng dụng của bạn. Để xem trước các điều kiện phụ thuộc vào loại ưu đãi, hãy xem Xem trước sản phẩm và ưu đãi.

Xuất bản thất bại sau khi nhập màu hex viết tắt

Hãy nhập màu dưới dạng đúng sáu chữ số hex, ví dụ #FFFFFF. Trường màu chấp nhận giá trị ngắn hơn nhưng không tự mở rộng, nên các giá trị viết tắt như #FFF sẽ đến cấu hình SDK ở dạng không hợp lệ và quá trình xuất bản bị từ chối. Độ trong suốt không liên quan — cùng một giá trị đó vẫn thất bại dù opacity là 100%. Trường hợp đặc biệt tốn kém nhất là giá trị bốn chữ số: nó xuất bản được, nhưng hiển thị một màu không phải màu bạn đã chọn.

Chỉnh sửa kiểu chữ không ảnh hưởng đến trạng thái của phần tử

Khi một trạng thái, chẳng hạn như Selected, đã có cài đặt kiểu chữ riêng, các chỉnh sửa kiểu chữ ở trạng thái Default — kể cả việc áp dụng text style khác — sẽ không ảnh hưởng đến trạng thái đó. Hãy chỉnh sửa trực tiếp kiểu chữ của trạng thái đó.

Các phần tử mất định dạng sau khi xóa text style

Khi xóa một text style, các thiết lập của nó sẽ không được sao chép vào những phần tử đang dùng style đó: các phần tử đó sẽ trở về typography mặc định. Trước khi xóa một style, hãy gán lại các phần tử bị ảnh hưởng sang style khác hoặc thiết lập typography thủ công cho chúng.

Conditions và biến bị lỗi sau khi thay đổi Element ID

Các điều kiện và biến văn bản tham chiếu đến các phần tử theo Element ID, và việc thay đổi ID sẽ không cập nhật các tham chiếu đó — chúng sẽ âm thầm ngừng hoạt động. Hãy đặt Element ID trước khi tham chiếu đến nó. Nếu bạn buộc phải thay đổi, hãy cập nhật tất cả các tham chiếu trong điều kiện và biến để khớp với ID mới. Ngoại lệ là các đoạn của thanh tiến trình (progress-bar segments): khi đổi tên một đoạn, các tham chiếu đến nó sẽ được cập nhật tự động.

Điều kiện hoặc biến trả về giá trị rỗng

Bộ chọn biến liệt kê các trường từ mọi màn hình, vì vậy một điều kiện hoặc biến văn bản có thể tham chiếu đến một ô nhập mà người dùng chưa điền. Khi chạy, tham chiếu đó sẽ trả về giá trị rỗng. Hãy chỉ tham chiếu các trường đã được thu thập ở bước trước trong flow.

Thao tác Set variable không thay đổi sản phẩm đang được chọn

Sản phẩm đang được chọn không phải là biến có thể gán giá trị, nên Set variable không thể thay đổi lựa chọn đó. Hãy dùng thao tác Select product thay thế.

Ảnh hoặc video không tải lên được

Tệp vượt quá giới hạn media của Flow Builder sẽ không tải lên được. Hãy kiểm tra tệp theo yêu cầu của ẢnhVideo:

Phần tửĐịnh dạngDung lượng tối đaGiới hạn khác
Ảnh.JPG, .PNG, .WEBP20 MB
Video.MP4, .WEBM50 MBTối đa 30 giây; tối thiểu 640×640 pixel

Các định dạng sau không được hỗ trợ:

  • GIF động và WEBP động: Để thêm chuyển động, hãy dùng phần tử Video thay thế.
  • SVG: Xuất file dưới dạng PNG hoặc WEBP. Với icon, bạn không cần tải lên gì cả — phần tử Icon lấy từ thư viện Tabler Icons được tích hợp sẵn.

Footer chỉ hiển thị trên màn hình có bật Vertical scroll. Hãy bật Vertical scroll trong Screen settings > Scroll.