---
title: "Lưu & xuất bản flow"
description: "Lưu flow dưới dạng bản nháp và xuất bản cho người dùng"
---

[Flow Builder](adapty-flow-builder) tách biệt việc lưu và xuất bản. Bản nháp giữ nguyên công việc của bạn trên Adapty Dashboard, còn xuất bản sẽ đưa phiên bản hiện tại đến người dùng thông qua SDK. Bài viết này hướng dẫn cả hai thao tác và khi nào nên dùng từng cái.

## Lưu flow dưới dạng bản nháp \{#save-a-flow-as-a-draft\}

:::warning
[Remote Config](customize-flow-with-remote-config) không hợp lệ sẽ ngăn bạn lưu bản nháp.
:::

Flow Builder tự động lưu tiến trình của bạn mỗi một phút.

Để lưu bản nháp thủ công, nhấp **Save draft** ở góc trên bên phải của Flow Builder, hoặc nhấn **Cmd/Ctrl + S**.

Bản nháp chỉ hiển thị trong Dashboard. Chúng không ảnh hưởng đến những gì người dùng thấy trong ứng dụng, kể cả khi flow đã được gán vào một [placement](placements).

## Xuất bản flow \{#publish-a-flow\}

Xuất bản sẽ đưa phiên bản hiện tại của flow đến người dùng thông qua SDK. Sau khi xuất bản, phiên bản mới sẽ thay thế bất kỳ phiên bản đã xuất bản nào trước đó của cùng flow đó.

Để xuất bản flow, nhấp **Publish to Live** ở góc trên bên phải của Flow Builder.

Điều xảy ra tiếp theo phụ thuộc vào việc flow đã được gán vào một placement hay chưa:

- **Flow đã có trong placement**: Người dùng sẽ thấy phiên bản mới trong lần yêu cầu tiếp theo đến placement đó.
- **Flow chưa có trong placement**: Thêm flow vào một [placement](create-placement) để bắt đầu hiển thị cho người dùng.

:::tip
Một flow sẵn sàng để xuất bản khi mọi action, màn hình và phần tử sản phẩm đều được cấu hình đầy đủ. Xem [Xử lý sự cố](#troubleshooting) để biết các lỗi thường gặp.
:::

## Trạng thái flow \{#flow-status\}

Mỗi flow hiển thị một trạng thái trong danh sách Flows. Trạng thái phản ánh vị trí của flow trong vòng đời lưu và xuất bản.

| Trạng thái | Ý nghĩa |
| :----- | :------ |
| **Draft** | Flow chưa bao giờ được xuất bản. Chỉ có bản nháp, nên người dùng chưa thấy. |
| **Dirty** | Flow đã được xuất bản, nhưng có các chỉnh sửa đã lưu chưa được xuất bản. Người dùng vẫn thấy phiên bản đã xuất bản lần cuối cho đến khi bạn xuất bản lại. |
| **Publishing** | Đang trong quá trình xuất bản. |
| **Failed** | Lần xuất bản cuối thất bại. Người dùng vẫn thấy phiên bản đã xuất bản lần cuối, nếu có. |
| **Published** | Phiên bản đã lưu mới nhất đang hoạt động. Không có chỉnh sửa nào chưa được xuất bản. |
| **Archived** | Flow đã bị xóa. |

## Xử lý sự cố \{#troubleshooting\}

---
no_index: true
---

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 chưa được cấu hình đầy đủ. Các trường hợp thường gặp:
    - Hành động **Open URL** chưa có URL đích.
    - Hành động **Navigate to screen** chưa có màn hình đích — cũng xảy ra khi màn hình đích bị xóa sau khi hành động đã được thiết lập.
    - Một **hành động có điều kiện** chưa có toán tử hoặc giá trị.
    - Hành động **Set Variable** chưa có biến/giá trị được gán.
    - Hành động **Purchase** chưa có sản phẩm (in-app store) hoặc chưa có Web Paywall URL (thanh toán qua web).
    - Hành động **Custom** chưa 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** chưa chọn phần tử nào.
- 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 khi bạn xóa sản phẩm đang được tham chiếu.
- **Remote config** JSON không hợp lệ sẽ làm gián đoạn toàn bộ quá trình phân phối — bạn thậm chí không thể lưu bản nháp.

Xem trước flow của bạn trong [ứng dụng Adapty](paywall-device-compatibility-preview) để phát hiện các vấn đề trước khi xuất bản. Nếu flow không tải được trong phần xem trước, hãy xem thông báo lỗi để biết thêm chi tiết.