ÿÿ Hiểu vá» Trạng thái Gói đăng ký | Tài liệu Adapty

Kiểm tra trạng thái gói đăng ký trong iOS SDK

Vá»›i Adapty, việc theo dõi trạng thái gói đăng ký trở nên đơn giản hÆ¡n bao giá» hết. Bạn không cần phải nhúng thá»§ công các product ID vào code. Thay vào đó, bạn có thể dá»… dàng xác nhận trạng thái gói đăng ký cá»§a ngưá»i dùng bằng cách kiểm tra mức độ truy cập Ä‘ang hoạt động.

Trước khi bắt đầu kiểm tra trạng thái gói đăng ký, hãy thiết lập App Store Server Notifications.

Mức độ truy cập và đối tượng AdaptyProfile

Mức độ truy cập là thuá»™c tính cá»§a đối tượng AdaptyProfile. Chúng tôi khuyến nghị lấy hồ sÆ¡ ngưá»i dùng khi ứng dụng khởi động, chẳng hạn như khi bạn xác định ngưá»i dùng, rồi cập nhật lại má»—i khi có thay đổi. Như vậy, bạn có thể sá»­ dụng đối tượng profile mà không cần phải gá»i lại nhiá»u lần.

Äể nhận thông báo khi profile được cập nhật, hãy lắng nghe các thay đổi cá»§a profile như mô tả trong phần Lắng nghe cập nhật profile, bao gồm mức độ truy cập bên dưới.

Muốn xem ví dụ thá»±c tế vá» cách tích hợp Adapty SDK vào ứng dụng di động? Hãy xem ứng dụng mẫu cá»§a chúng tôi, nÆ¡i minh há»a toàn bá»™ quá trình thiết lập, bao gồm hiển thị paywall, thá»±c hiện mua hàng và các chức năng cÆ¡ bản khác.

Lấy mức độ truy cập từ server

Äể lấy mức độ truy cập từ server, sá»­ dụng phương thức .getProfile():

Tham số trả vá»:

Tham sốMô tả
Profile

Äối tượng AdaptyProfile. Thông thưá»ng, bạn chỉ cần kiểm tra trạng thái mức độ truy cập cá»§a profile để xác định xem ngưá»i dùng có quyá»n truy cập premium vào ứng dụng hay không.

Phương thức .getProfile luôn cố gắng truy vấn API nên cho kết quả cập nhật nhất. Nếu vì lý do nào đó (ví dụ: không có kết nối internet), Adapty SDK không thể lấy thông tin từ server thì dữ liệu trong cache sẽ được trả vá». CÅ©ng cần lưu ý rằng Adapty SDK cập nhật cache cá»§a AdaptyProfile định kỳ để giữ thông tin luôn được đồng bá»™ nhất có thể.

Phương thức .getProfile() trả vá» hồ sÆ¡ ngưá»i dùng, từ đó bạn có thể lấy trạng thái mức độ truy cập. Má»™t ứng dụng có thể có nhiá»u mức độ truy cập. Ví dụ: nếu bạn có ứng dụng Ä‘á»c báo và bán gói đăng ký theo từng chá»§ đỠriêng biệt, bạn có thể tạo các mức độ truy cập “sports†và “scienceâ€. Tuy nhiên, trong hầu hết các trưá»ng hợp, bạn chỉ cần má»™t mức độ truy cập — khi đó chỉ cần dùng mức mặc định “premium†là đủ.

Dưới đây là ví dụ kiểm tra mức độ truy cập “premium†mặc định:

Lắng nghe cập nhật trạng thái gói đăng ký

Má»—i khi gói đăng ký cá»§a ngưá»i dùng thay đổi, Adapty sẽ kích hoạt má»™t sá»± kiện.

Äể nhận thông báo từ Adapty, bạn cần thá»±c hiện thêm má»™t số cấu hình:

Adapty.delegate = self

// To receive subscription updates, extend `AdaptyDelegate` with this method:
nonisolated func didLoadLatestProfile(_ profile: AdaptyProfile) {
    // handle any changes to subscription state
}

Adapty cÅ©ng kích hoạt má»™t sá»± kiện khi ứng dụng khởi động. Trong trưá»ng hợp này, trạng thái gói đăng ký được lưu trong cache sẽ được truyá»n vào.

Cache trạng thái gói đăng ký

Cache được tích hợp trong Adapty SDK lưu trữ trạng thái gói đăng ký cá»§a hồ sÆ¡ ngưá»i dùng. Äiá»u này có nghÄ©a là ngay cả khi server không khả dụng, dữ liệu trong cache vẫn có thể được truy cập để cung cấp thông tin vá» trạng thái gói đăng ký.

Tuy nhiên, cần lưu ý rằng không thể truy vấn dữ liệu trực tiếp từ cache. SDK định kỳ gửi yêu cầu đến server mỗi phút một lần để kiểm tra xem có cập nhật hay thay đổi nào liên quan đến profile không. Nếu có bất kỳ thay đổi nào — chẳng hạn như giao dịch mới hay các cập nhật khác — chúng sẽ được đồng bộ vào dữ liệu cache để giữ thông tin luôn nhất quán với server.

ÿÿÿÿ