Tối ưu hóa việc lấy paywall trong Unity SDK
Một lần lấy paywall đáng tin cậy trong Unity cần làm được ba việc: hiển thị nhanh, trả về đúng paywall theo đối tượng, và dự phòng hợp lý khi mạng chậm. Các quy tắc dưới đây bao gồm thời điểm, caching và các pattern dự phòng để đạt được điều đó.
Các quy tắc này giả định Adapty.Activate() và Adapty.Identify() đã được thực thi xong. Xem Thứ tự gọi trong Unity SDK.
Quy tắc và những lỗi thường gặp
| Nên làm | Không nên làm | Lý do |
|---|---|---|
| Lấy placement bạn sắp hiển thị. | Prefetch tất cả các placement đồng thời lúc khởi động. | Bulk prefetch chặn main thread và gây màn hình đen trong quá trình tải. |
Gọi GetPaywall sau khi attribution đã có thời gian xử lý xong — ví dụ, 1–2 giây sau Activate hoặc sau khi OnLoadLatestProfile kích hoạt. | Gọi GetPaywall trong Awake(). | Attribution chưa được cập nhật. Paywall sẽ được xử lý theo đối tượng mặc định và âm thầm bỏ qua các phân khúc cũng như cá nhân hóa ASA. |
Đặt loadTimeout và cấu hình paywall dự phòng cho mọi placement. | Chờ GetPaywall vô thời hạn. | Không có timeout, người dùng có kết nối kém sẽ thấy màn hình trắng cho đến khi mạng phục hồi — hoặc thoát app. |
Xem Lấy paywall và sản phẩm để tham khảo các tham số fetchPolicy và loadTimeout, và Placements để chọn đúng placement.
Tối ưu cho kết nối kém
Đối với những thị trường có kết nối liên tục kém (vùng nông thôn, khi đang di chuyển, khu vực bị ảnh hưởng bởi định tuyến mạng):
- Đặt
fetchPolicythànhAdaptyPlacementFetchPolicy.ReturnCacheDataElseLoadcho mọi lần lấy ngoại trừ lần đầu tiên. - Cấu hình paywall dự phòng cho mọi placement trong Adapty Dashboard.
- Đặt
loadTimeouttừ 3–5 giây và chấp nhận fallback khi timeout kích hoạt. - Đừng chặn việc hiển thị paywall bằng
GetProfile. GọiGetPaywallđộc lập để một profile chậm không chặn giao diện người dùng.