Triển khai web paywall

Trước khi bắt đầu, hãy đảm bảo bạn đã cấu hình web paywall trong dashboard và cài đặt Adapty SDK phiên bản 3.6.1 trở lên.

Mở web paywall

Nếu bạn đang làm việc với paywall tự phát triển, bạn cần xử lý web paywall bằng phương thức SDK. Phương thức .openWebPaywall:

  1. Tạo URL duy nhất giúp Adapty liên kết paywall cụ thể đang hiển thị cho một người dùng cụ thể với trang web họ được chuyển hướng đến.
  2. Theo dõi khi người dùng quay lại ứng dụng rồi gọi .getProfile theo chu kỳ ngắn để xác định xem quyền truy cập của hồ sơ người dùng có được cập nhật hay không.

Như vậy, nếu thanh toán thành công và quyền truy cập được cập nhật, gói đăng ký sẽ kích hoạt trong ứng dụng gần như ngay lập tức.


try {
    await adapty.openWebPaywall(product);
} catch (error) {
    console.warn('Failed to open web paywall:', error);
}

Có hai phiên bản của phương thức openWebPaywall:

  1. openWebPaywall(product) tạo URL theo paywall và đồng thời thêm dữ liệu sản phẩm vào URL.
  2. openWebPaywall(paywall) tạo URL theo paywall mà không thêm dữ liệu sản phẩm vào URL. Dùng phiên bản này khi các sản phẩm trong Adapty paywall khác với các sản phẩm trong web paywall.

Xử lý lỗi

LỗiMô tảHành động khuyến nghị
AdaptyError.paywallWithoutPurchaseUrlPaywall chưa được cấu hình URL mua hàng webKiểm tra xem paywall đã được cấu hình đúng trong Adapty Dashboard chưa
AdaptyError.productWithoutPurchaseUrlSản phẩm chưa có URL mua hàng webXác minh cấu hình sản phẩm trong Adapty Dashboard
AdaptyError.failedOpeningWebPaywallUrlKhông mở được URL trong trình duyệtKiểm tra cài đặt thiết bị hoặc cung cấp phương thức mua hàng thay thế
AdaptyError.failedDecodingWebPaywallUrlKhông mã hóa đúng các tham số trong URLXác minh các tham số URL hợp lệ và được định dạng đúng

Mở web paywall trong trình duyệt trong ứng dụng

Mở web paywall trong trình duyệt trong ứng dụng được hỗ trợ từ Adapty SDK v3.15 trở lên.

Theo mặc định, web paywall mở trong trình duyệt bên ngoài.

Để mang lại trải nghiệm người dùng liền mạch, bạn có thể mở web paywall trong trình duyệt trong ứng dụng. Tính năng này hiển thị trang mua hàng web ngay bên trong ứng dụng của bạn, cho phép người dùng hoàn tất giao dịch mà không cần chuyển ứng dụng.

Để bật tính năng này, truyền WebPresentation.BrowserInApp làm đối số thứ hai cho openWebPaywall:


try {
    await adapty.openWebPaywall(
        product,
        WebPresentation.BrowserInApp, // default – WebPresentation.BrowserOutApp
    );
} catch (error) {
    console.warn('Failed to open web paywall:', error);
}