Capacitor SDK'da abonelik durumunu kontrol etme
Kullanıcıların ücretli içeriğe erişip erişemeyeceğine ya da bir paywall görüp görmeyeceğine karar vermek için profildeki access level bilgisini kontrol etmeniz gerekir.
Bu makale, kullanıcılara paywall gösterip göstermeyeceğinize ya da ücretli özelliklere erişim izni verip vermeyeceğinize karar vermek için profil durumuna nasıl ulaşacağınızı anlatmaktadır.
Abonelik durumunu alma
Bir kullanıcıya paywall mı yoksa ücretli içerik mi göstereceğinize karar verirken profildeki access level bilgisini kontrol edersiniz. İki seçeneğiniz var:
- Anlık olarak en güncel profil verisine ihtiyaç duyduğunuzda (örneğin uygulama açılışında) ya da güncellemeyi zorla almak istediğinizde
getProfileçağırın. - Abonelik durumu her değiştiğinde otomatik olarak güncellenen yerel bir kopya tutmak için otomatik profil güncellemelerini ayarlayın.
Profili alma
Abonelik durumunu almanın en kolay yolu, profile erişmek için getProfile metodunu kullanmaktır:
try {
const profile = await adapty.getProfile();
} catch (error) {
// handle the error
}
Abonelik güncellemelerini dinleme
Uygulamanızda profil güncellemelerini otomatik olarak almak için:
- Profil değişikliklerini dinlemek amacıyla
adapty.addListener('onLatestProfileLoad')kullanın. Adapty, kullanıcının abonelik durumu her değiştiğinde bu metodu otomatik olarak çağırır. - Bu metot çağrıldığında güncellenmiş profil verisini saklayın; böylece uygulamanızın her yerinde ek ağ isteği yapmadan bu veriye erişebilirsiniz.
class SubscriptionManager {
private currentProfile: any = null;
constructor() {
// Listen for profile updates
adapty.addListener('onLatestProfileLoad', (data) => {
this.currentProfile = data.profile;
// Update UI, unlock content, etc.
});
}
// Use stored profile instead of calling getProfile()
hasAccess(): boolean {
return this.currentProfile?.accessLevels?.['YOUR_ACCESS_LEVEL']?.isActive ?? false;
}
}
Adapty, uygulamanız başladığında onLatestProfileLoad event listener’ını otomatik olarak çağırır; bu sayede cihaz çevrimdışı olsa bile önbelleğe alınmış abonelik verisi sağlanır.
Profili paywall mantığıyla bağlama
Paywall gösterme veya ücretli özelliklere erişim izni verme konusunda anlık kararlar almanız gerektiğinde, kullanıcı profilini doğrudan kontrol edebilirsiniz. Bu yaklaşım; uygulama açılışı, premium bölümlere giriş veya belirli içerikler gösterilmeden önce gibi senaryolarda oldukça kullanışlıdır.
const checkAccessLevel = async () => {
try {
const profile = await adapty.getProfile();
return profile?.accessLevels?.['YOUR_ACCESS_LEVEL']?.isActive === true;
} catch (error) {
console.warn('Error checking access level:', error);
return false; // Show paywall if access check fails
}
};
const getAccessLevel = () => {
return profile?.accessLevels?.['YOUR_ACCESS_LEVEL'];
};
const initializePaywall = async () => {
try {
await loadPaywall();
const hasAccess = await checkAccessLevel();
if (!hasAccess) {
// Show paywall if no access
}
} catch (error) {
console.warn('Error initializing paywall:', error);
}
};
Sonraki adımlar
Abonelik durumunu nasıl takip edeceğinizi öğrendiğinize göre, kullanıcıların satın aldıklarına erişebildiğinden emin olmak için kullanıcı profilleriyle çalışmayı incelemeye başlayabilirsiniz.