ÿÿ Kiểm Tra Trạng Thái Äăng Ký | Tài liệu Adapty

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

Äể quyết định xem ngưá»i dùng có thể truy cập ná»™i dung trả phí hay cần xem 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á»™i dung hiển thị — cho xem paywall hay mở quyá»n truy cập các tính năng trả phí.

Lấy trạng thái đăng ký

Khi quyết định có nên 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á». Bạn có hai lá»±a chá»n:

  • Gá»i GetProfile nế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 để giữ má»™t bản sao cục bá»™ được tá»± động làm má»›i má»—i khi trạng thái đăng ký thay đổi.

Lấy hồ sÆ¡ ngưá»i dùng

Cách đơn giản nhất để lấy trạng thái đăng ký là dùng phương thức GetProfile để truy cập hồ sơ:

Adapty.GetProfile((profile, error) => {
  if (error != null) {
    // handle the error
    return;
  }

// check the access
});

Lắng nghe cập nhật đăng ký

Äể tá»± động nhận cập nhật hồ sÆ¡ trong ứng dụng:

  1. Kế thừa AdaptyEventListener và implement phương thức OnLoadLatestProfile — Adapty sẽ tá»± động gá»i phương thức này má»—i khi trạng thái đăng ký cá»§a ngưá»i dùng thay đổi.
  2. 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ể dùng nó trong toàn bá»™ ứng dụng mà không cần thá»±c hiện thêm các yêu cầu mạng.
public class SubscriptionManager : MonoBehaviour, AdaptyEventListener {
    private AdaptyProfile currentProfile;
    
    void Start() {
        // Register this object as an Adapty event listener
        Adapty.SetEventListener(this);
    }
    
    // Store the profile when it updates
    public void OnLoadLatestProfile(AdaptyProfile profile) {
        currentProfile = profile;
        // Update UI, unlock content, etc.
    }
    
    public void OnInstallationDetailsSuccess(AdaptyInstallationDetails details) { }
    public void OnInstallationDetailsFail(AdaptyError error) { }
    
    // Use stored profile instead of calling getProfile()
    public bool HasAccess() {
        if (currentProfile?.AccessLevels != null && 
            currentProfile.AccessLevels.ContainsKey("premium")) {
            return currentProfile.AccessLevels["premium"].IsActive;
        }
        return false;
    }
}

Adapty tá»± động gá»i OnLoadLatestProfile khi ứng dụng khởi động, cung cấp dữ liệu đăng ký đã được cache ngay cả khi thiết bị ngoại tuyến.

Kết nối hồ sơ 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 trá»±c tiếp hồ sÆ¡ ngưá»i dùng. Cách tiếp cận này hữu ích cho các tình huống như khởi động ứng dụng, khi vào các mục premium, hoặc trước khi hiển thị ná»™i dung cụ thể.

private void CheckAccessLevel()
{
    Adapty.GetProfile((profile, error) => {
        if (error != null) {
            Debug.LogError("Error checking access level: " + error.Message);
            // Show paywall if access check fails
            return;
        }
        
        var accessLevel = profile.AccessLevels["YOUR_ACCESS_LEVEL"];
        if (accessLevel == null || !accessLevel.IsActive) {
            // Show paywall if no access
        }
    });
}

private void InitializePaywall()
{
    LoadPaywall();
    CheckAccessLevel();
}

Bước tiếp theo

Sau khi đã biết cách theo dõi trạng thá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 ngưá»i dùng có thể truy cập những gì hỠđã trả phí.

ÿÿÿÿ