Tối ưu hóa việc lấy paywall trong React Native SDK

Một lần lấy paywall đáng tin cậy trên React Native cần đảm bảo ba điều: hiển thị nhanh, trả về paywall đúng với đối tượng được nhắm mục tiêu, và có phương án dự phòng hợp lý khi mạng chậm. Các quy tắc dưới đây đề cập đến thời điểm, bộ nhớ đệm và các mẫu dự phòng để đạt được điều đó.

Các quy tắc này giả định rằng adapty.activate()adapty.identify() đã được resolve xong. Xem Thứ tự gọi trong React Native SDK.

Quy tắc và những lỗi thường gặp

Nên làmKhông nên làmLý do
Lấy placement mà bạn sắp hiển thị.Prefetch tất cả các placement cùng lúc khi khởi động.Bulk prefetch chặn JS thread và gây ra màn hình đen trong khoảng thời gian đó.
Gọi getPaywall sau khi attribution đã có cơ hội resolve — ví dụ, 1–2 giây sau activate hoặc sau khi onProfileUpdate kích hoạt.Gọi getPaywall tại component gốc khi mount.Attribution chưa hoàn tất. Paywall sẽ resolve theo đối tượng mặc định và âm thầm bỏ qua các phân khúc và cá nhân hóa ASA.
Đặt loadTimeoutMs và cấu hình paywall dự phòng cho mọi placement.Chờ getPaywall vô thời hạn.Nếu không có timeout, người dùng ở kết nối kém sẽ thấy màn hình trắng cho đến khi mạng phản hồi — hoặc họ sẽ tắt ứng dụng.

Xem Lấy paywall và sản phẩm để tham khảo các tham số fetchPolicyloadTimeoutMs, và Placements để chọn placement phù hợp.

Tối ưu cho kết nối kém

Đối với các thị trường có kết nối kém liên tục (khu vực nông thôn, phương tiện giao thông, vùng bị ảnh hưởng bởi định tuyến mạng):

  • Đặt fetchPolicy: .returnCacheDataElseLoad cho mọi lần lấy dữ liệu, trừ lần đầu tiên.
  • Cấu hình paywall dự phòng cho mọi placement trên Adapty Dashboard.
  • Đặt loadTimeoutMs từ 3–5 giây và chấp nhận phương án dự phòng khi timeout xảy ra.
  • Đừng chặn việc hiển thị paywall bằng getProfile(). Gọi getPaywall độc lập để tránh trường hợp profile chậm làm chặn giao diện.