ÿÿ Tìm 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 Capacitor 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 chèn 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ý (Nhấn để mở rộng)

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

Mức độ truy cập là các thuá»™c tính cá»§a đối tượng AdaptyProfile. Chúng tôi khuyến nghị bạn lấy hồ sÆ¡ ngưá»i dùng ngay 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 hồ sÆ¡ ngưá»i dùng mà không cần gá»­i yêu cầu lặp Ä‘i lặp lại. Äể nhận thông báo khi hồ sÆ¡ ngưá»i dùng có thay đổi, hãy lắng nghe các sá»± kiện cập nhật hồ sÆ¡ như mô tả trong phần Lắng nghe cập nhật hồ sÆ¡, 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ừ máy chủ

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


try {
  const profile = await adapty.getProfile();
  console.log('Profile retrieved successfully');
} catch (error) {
  console.error('Failed to get profile:', error);
}

Tham số phản hồi:

Tham sốMô tả
profileMá»™t đố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 hồ sÆ¡ ngưá»i dùng để 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 trả vá» kết quả má»›i nhất vì nó luôn cố gắng truy vấn API. 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ừ máy chá»§, dữ liệu từ bá»™ nhá»› cache sẽ được trả vá». CÅ©ng cần lưu ý rằng Adapty SDK thưá»ng xuyên cập nhật cache AdaptyProfile để giữ thông tin này luôn được cập nhật nhất có thể.
Phương thức .getProfile() cung cấp cho bạn hồ sÆ¡ ngưá»i dùng, từ đó bạn có thể kiểm tra 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 báo và bán gói đăng ký cho các chá»§ đỠkhác nhau má»™t cách độc lập, bạn có thể tạo các mức độ truy cập “sports†và “scienceâ€. Tuy nhiên, hầu hết các trưá»ng hợp bạn chỉ cần má»™t mức độ truy cập — khi đó, bạn có thể dùng mức độ truy cập mặc định là “premiumâ€.

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


try {
  const profile = await adapty.getProfile();
  
  const isActive = profile.accessLevels?.['premium']?.isActive;
  if (isActive) {
    // Grant access to premium features
    console.log('User has premium access');
  } else {
    console.log('User does not have premium access');
  }
} catch (error) {
  console.error('Failed to check subscription status:', error);
}

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

Bất cứ khi nào 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:


// Create an "onLatestProfileLoad" event listener
adapty.addListener('onLatestProfileLoad', (data) => {
  const profile = data.profile;
  const isActive = profile.accessLevels?.['premium']?.isActive;
  
  if (isActive) {
    console.log('Subscription status updated: User has premium access');
  } else {
    console.log('Subscription status updated: User does not have premium access');
  }
});

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.

Bộ nhớ đệm trạng thái gói đăng ký

Bá»™ nhá»› đệm đượ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 máy chá»§ không khả dụng, dữ liệu đã được lưu trong bá»™ nhá»› đệm vẫn có thể được truy cập để cung cấp thông tin vá» trạng thái gói đăng ký cá»§a hồ sÆ¡ ngưá»i dùng. 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 máy chá»§ má»—i phút má»™t lần để kiểm tra các cập nhật hoặc thay đổi liên quan đến hồ sÆ¡ ngưá»i dùng. Nếu có bất kỳ thay đổi nào, chẳng hạn như giao dịch má»›i hoặc các cập nhật khác, chúng sẽ được đồng bá»™ vào dữ liệu trong cache để giữ cho cache luôn nhất quán vá»›i máy chá»§.

ÿÿÿÿ