Tối ưu hóa việc tải paywall trong Kotlin Multiplatform SDK
Việc tải paywall đáng tin cậy trong Kotlin Multiplatform cần đảm bảo ba điều: hiển thị nhanh, trả về đúng paywall đã được nhắm mục tiêu theo đối tượng, và có phương án 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, bộ nhớ đệm, và các phương án dự phòng để đạt được điều đó.
Các quy tắc này giả định Adapty.activate() và Adapty.identify() đã được giải quyết xong. Xem Thứ tự gọi trong Kotlin Multiplatform SDK.
Quy tắc và những lỗi cần tránh
| Nên làm | Không nên làm | Lý do |
|---|---|---|
| Tải placement bạn sắp hiển thị. | Tải trước tất cả các placement đồng thời khi khởi chạy. | Tải trước hàng loạt sẽ chặn luồng chính và gây ra màn hình đen trong thời gian đó. |
Gọi getPaywall sau khi attribution đã có cơ hội được xử lý — ví dụ, 1–2 giây sau activate hoặc sau khi setOnProfileUpdatedListener kích hoạt. | Gọi getPaywall khi khởi chạy ứng dụng. | Attribution chưa được xử lý xong. Paywall sẽ được giải quyết dựa trên đối tượng mặc định và 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 ở vùng 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 đóng ứng dụng. |
Xem Tải 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 các thị trường có kết nối thường xuyên kém (vùng nông thôn, trên phương tiện giao thông, các khu vực bị ảnh hưởng bởi định tuyến mạng):
- Đặt
fetchPolicy = AdaptyPaywallFetchPolicy.ReturnCacheDataElseLoadcho mọi lần tải 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 sử dụng paywall dự phòng khi hết thời gian chờ. - Đừng để hiển thị paywall phụ thuộc vào
Adapty.getProfile(). GọigetPaywallđộc lập để một profile chậm không chặn giao diện người dùng.