ÿÿ Adapty Flow Builder Quickstart | Tài liệu Adapty

Bật tính năng mua hàng với Flow Builder trong Capacitor SDK

Äể bật in-app purchase, bạn cần hiểu ba khái niệm chính:

  • Sản phẩm – má»i thứ ngưá»i dùng có thể mua (gói đăng ký, consumable, quyá»n truy cập trá»n Ä‘á»i)
  • Flows – chuá»—i màn hình giá»›i thiệu sản phẩm đến ngưá»i dùng, được xây dá»±ng trong Flow Builder không cần code. SDK lấy chúng qua getFlow. Nếu bạn muốn tá»± xây dá»±ng giao diện bằng code, hãy dùng paywall thay thế — xem Triển khai paywall thá»§ công.
  • Placements – nÆ¡i và thá»i Ä‘iểm bạn hiển thị flow trong ứng dụng (như main, onboarding, settings). Bạn gắn flow vào placement trên dashboard, sau đó gá»i chúng theo placement ID trong code. Äiá»u này giúp dá»… dàng chạy A/B test và hiển thị flow khác nhau cho từng nhóm ngưá»i dùng. Adapty cung cấp ba cách để kích hoạt tính năng mua hàng trong ứng dụng cá»§a bạn. Hãy chá»n má»™t trong số đó tùy theo yêu cầu cá»§a ứng dụng: | Triển khai | Äá»™ phức tạp | Khi nào sá»­ dụng | |---|---|---| | Adapty Flow Builder | ✅ Dá»… | Bạn tạo má»™t flow hoàn chỉnh, sẵn sàng thanh toán trong trình xây dá»±ng không cần code. Adapty tá»± động hiển thị và xá»­ lý toàn bá»™ luồng mua hàng phức tạp, xác thá»±c biên lai và quản lý gói đăng ký. | | Paywall tá»± tạo | 🟡 Trung bình | Bạn tá»± triển khai giao diện paywall trong code ứng dụng, nhưng vẫn lấy đối tượng flow từ Adapty để linh hoạt trong việc cung cấp sản phẩm. Xem hướng dẫn. | | Observer mode | 🔴 Khó | Bạn đã có cÆ¡ sở hạ tầng xá»­ lý thanh toán riêng và muốn tiếp tục sá»­ dụng nó. Lưu ý rằng observer mode có những hạn chế nhất định trong Adapty. Xem bài viết. |

Các bước dưới đây hướng dẫn cách triển khai một flow được tạo trong Adapty Flow Builder.

Nếu bạn muốn tự xây dựng giao diện paywall, hãy xem Triển khai paywall thủ công.

Äể hiển thị má»™t flow được tạo trong Adapty Flow Builder, trong code cá»§a ứng dụng, bạn chỉ cần:

  1. Lấy flow: Lấy từ Adapty.
  2. Hiển thị nó và Adapty sẽ xử lý giao dịch mua cho bạn: Hiển thị view trong ứng dụng của bạn.
  3. Xá»­ lý hành động nút: Liên kết tương tác cá»§a ngưá»i dùng vá»›i phản hồi tương ứng trong ứng dụng. Ví dụ: mở liên kết hoặc đóng flow khi ngưá»i dùng nhấn nút.

Trước khi bắt đầu

Trước khi bắt đầu, hãy hoàn thành các bước sau:

  1. Kết nối ứng dụng của bạn với App Store và/hoặc Google Play trong Adapty Dashboard.
  2. Tạo sản phẩm trong Adapty.
  3. Tạo paywall và thêm sản phẩm vào đó.
  4. Tạo placement và thêm paywall vào đó.
  5. Cài đặt và kích hoạt Adapty SDK trong code ứng dụng của bạn.

Cách nhanh nhất để hoàn thành các bước này là làm theo hướng dẫn quickstart hoặc tạo paywall và placement bằng Developer CLI.

1. Lấy flow

Các flow của bạn được liên kết với các placement đã cấu hình trên dashboard. Placement cho phép bạn chạy các flow khác nhau cho các đối tượng khác nhau hoặc chạy A/B test.

Äể lấy má»™t flow đã tạo trong Adapty Flow Builder, hãy lấy đối tượng flow theo ID placement bằng phương thức getFlow. Flow chứa các phần tá»­ giao diện và kiểu dáng cần thiết để hiển thị nó.


try {
  const flow = await adapty.getFlow({
    placementId: 'YOUR_PLACEMENT_ID',
  });
  // the requested flow
} catch (error) {
  // handle the error
}

2. Hiển thị flow

Bây giá», khi bạn đã có flow, chỉ cần thêm vài dòng code để hiển thị nó.

Tạo má»™t view bằng phương thức createFlowView, thiết lập các event handler cho nó, rồi gá»i view.present(). Má»—i view chỉ có thể dùng má»™t lần. Nếu bạn cần hiển thị lại flow, hãy gá»i createFlowView thêm má»™t lần nữa để tạo má»™t view instance má»›i.


try {
  const view = await createFlowView(flow);

  await view.setEventHandlers({
    onPurchaseCompleted(purchaseResult, product) {
      return purchaseResult.type === 'success'; // close the flow on a successful purchase, keep it open for cancelled or pending purchases
    },
  });

  await view.present();
} catch (error) {
  // handle the error
}

Äể biết thêm chi tiết vá» cách hiển thị má»™t flow, xem hướng dẫn cá»§a chúng tôi.

3. Xử lý hành động nút bấm

Khi ngưá»i dùng nhấn các nút trong flow, Capacitor SDK tá»± động xá»­ lý việc mua hàng, khôi phục, đóng flow và mở URL.

Tuy nhiên, một số nút có ID tùy chỉnh hoặc được định nghĩa sẵn và cần bạn xử lý hành động trong code. Hoặc bạn có thể muốn ghi đè hành vi mặc định của chúng.

Ví dụ, đây là hành vi mặc định của nút đóng. Bạn không cần thêm đoạn này vào code, nhưng ở đây bạn có thể thấy cách thực hiện nếu cần.

const unsubscribe = await view.setEventHandlers({
  onCloseButtonPress() {
    return true; // allow the flow to close
  },
});

Äá»c hướng dẫn cá»§a chúng tôi vá» cách xá»­ lý hành động và sá»± kiện cá»§a nút bấm.

Bước tiếp theo

Bạn có câu há»i hoặc gặp sá»± cố? Hãy xem diá»…n đàn há»— trợ cá»§a chúng tôi — nÆ¡i bạn có thể tìm câu trả lá»i cho các câu há»i thưá»ng gặp hoặc đặt câu há»i cá»§a riêng mình. Äá»™i ngÅ© và cá»™ng đồng cá»§a chúng tôi luôn sẵn sàng giúp đỡ!

Paywall của bạn đã sẵn sàng để hiển thị trong ứng dụng. Kiểm tra các giao dịch mua trong sandbox App Store hoặc trong Google Play Store để đảm bảo bạn có thể hoàn thành một giao dịch mua thử từ paywall.

Tiếp theo, bạn cần kiểm tra mức độ truy cập cá»§a ngưá»i dùng để đảm bảo bạn hiển thị paywall hoặc cấp quyá»n truy cập vào các tính năng trả phí đúng cho ngưá»i dùng.

Ví dụ đầy đủ

Dưới đây là cách tích hợp tất cả các bước trong hướng dẫn này vào ứng dụng của bạn.


export async function showFlow() {
  try {
    const flow = await adapty.getFlow({
      placementId: 'YOUR_PLACEMENT_ID',
    });

    const view = await createFlowView(flow);

    await view.setEventHandlers({
      onCloseButtonPress() {
        return true;
      },
      onPurchaseCompleted(purchaseResult, product) {
        return purchaseResult.type === 'success'; // close the flow on a successful purchase, keep it open for cancelled or pending purchases
      },
    });

    await view.present();
  } catch (error) {
    // handle any error that may occur during the process
    console.warn('Error showing flow:', error);
  }
}
ÿÿÿÿ