Kiểm tra trạng thái gói đăng ký trong iOS SDK
Để quyết định người dùng có thể truy cập nội dung trả phí hay cần hiển thị paywall, bạn cần kiểm tra mức độ truy cập của họ trong hồ sơ người dùng.
Bài viết này hướng dẫn bạn cách truy cập trạng thái hồ sơ người dùng để quyết định nên hiển thị paywall hay cấp quyền truy cập tính năng trả phí cho người dùng.
Lấy trạng thái gói đăng ký
Khi quyết định hiển thị paywall hay nội dung trả phí cho người dùng, bạn kiểm tra mức độ truy cập trong hồ sơ người dùng của họ. Có hai cách:
- Gọi
getProfilenếu bạn cần dữ liệu hồ sơ mới nhất ngay lập tức (ví dụ khi khởi động ứng dụng) hoặc muốn buộc cập nhật. - Thiết lập cập nhật hồ sơ tự động để duy trì bản sao cục bộ được tự động làm mới mỗi khi trạng thái gói đăng ký thay đổi.
Theo mặc định, mức độ truy cập premium đã tồn tại trong Adapty. Nếu bạn không cần thiết lập nhiều hơn một mức độ truy cập, bạn có thể dùng premium luôn.
Lấy hồ sơ người dùng
Cách đơn giản nhất để lấy trạng thái gói đăng ký là dùng phương thức getProfile để truy cập hồ sơ người dùng:
Lắng nghe cập nhật gói đăng ký
Nếu bạn muốn tự động nhận cập nhật hồ sơ trong ứng dụng:
- Conform vào protocol
AdaptyDelegatetrong kiểu dữ liệu bạn chọn và implement phương thứcdidLoadLatestProfile— Adapty sẽ tự động gọi phương thức này mỗi khi trạng thái gói đăng ký của người dùng thay đổi. Trong ví dụ dưới đây, chúng ta dùng kiểuSubscriptionManagerđể hỗ trợ xử lý các luồng gói đăng ký và hồ sơ người dùng. Kiểu này có thể được inject như một dependency hoặc thiết lập như singleton trong ứng dụng UIKit, hoặc thêm vào môi trường SwiftUI từ struct chính của ứng dụng. - Lưu dữ liệu hồ sơ được cập nhật khi phương thức này được gọi, để bạn có thể sử dụng xuyên suốt ứng dụng mà không cần thực hiện thêm request mạng.
class SubscriptionManager: AdaptyDelegate {
nonisolated func didLoadLatestProfile(_ profile: AdaptyProfile) {
let hasAccess = profile.accessLevels["YOUR_ACCESS_LEVEL"]?.isActive ?? false
// Update UI, unlock content, etc.
}
}
// Set delegate after Adapty activation
Adapty.delegate = subscriptionManager
Adapty tự động gọi didLoadLatestProfile khi ứng dụng khởi động, cung cấp dữ liệu gói đăng ký đã cache ngay cả khi thiết bị ngoại tuyến.
Kết nối hồ sơ người dùng với logic paywall
Khi bạn cần đưa ra quyết định ngay lập tức về việc hiển thị paywall hay cấp quyền truy cập tính năng trả phí, bạn có thể kiểm tra hồ sơ người dùng trực tiếp. Cách này hữu ích trong các tình huống như khởi động ứng dụng, khi vào các khu vực premium, hoặc trước khi hiển thị nội dung cụ thể.
Bước tiếp theo
Bây giờ bạn đã biết cách theo dõi trạng thái gói đăng ký, hãy tìm hiểu cách làm việc với hồ sơ người dùng để đảm bảo nó phù hợp với hệ thống xác thực hiện có và quyền chia sẻ quyền truy cập trả phí của bạn.
Nếu bạn không có hệ thống xác thực riêng, điều đó hoàn toàn không sao — Adapty sẽ quản lý người dùng cho bạn, nhưng bạn vẫn có thể đọc hướng dẫn để tìm hiểu cách Adapty hoạt động với người dùng ẩn danh.