Vérifier le statut d'abonnement dans le SDK Capacitor
Pour décider si les utilisateurs peuvent accéder au contenu payant ou voir un paywall, vous devez vérifier leur niveau d’accès dans le profil.
Cet article vous montre comment accéder à l’état du profil afin de déterminer ce que l’utilisateur doit voir — lui afficher un paywall ou lui donner accès aux fonctionnalités payantes.
Obtenir le statut d’abonnement
Lorsque vous décidez d’afficher un paywall ou du contenu payant à un utilisateur, vous vérifiez son niveau d’accès dans son profil. Deux options s’offrent à vous :
- Appelez
getProfilesi vous avez besoin des dernières données du profil immédiatement (par exemple au démarrage de l’app) ou si vous souhaitez forcer une mise à jour. - Configurez des mises à jour automatiques du profil pour conserver une copie locale qui se rafraîchit automatiquement dès que le statut d’abonnement change.
Récupérer le profil
La façon la plus simple d’obtenir le statut d’abonnement est d’utiliser la méthode getProfile pour accéder au profil :
try {
const profile = await adapty.getProfile();
} catch (error) {
// handle the error
}
Écouter les mises à jour d’abonnement
Pour recevoir automatiquement les mises à jour du profil dans votre app :
- Utilisez
adapty.addListener('onLatestProfileLoad')pour écouter les changements de profil — Adapty appellera automatiquement cette méthode chaque fois que le statut d’abonnement de l’utilisateur change. - Stockez les données du profil mis à jour lorsque cette méthode est appelée, afin de pouvoir les utiliser partout dans votre app sans effectuer de requêtes réseau supplémentaires.
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 appelle automatiquement le listener d’événement onLatestProfileLoad au démarrage de votre app, fournissant les données d’abonnement en cache même si l’appareil est hors ligne.
Connecter le profil avec la logique de paywall
Lorsque vous devez prendre des décisions immédiates concernant l’affichage de paywalls ou l’accès aux fonctionnalités payantes, vous pouvez vérifier le profil de l’utilisateur directement. Cette approche est utile dans des scénarios comme le démarrage de l’app, l’accès aux sections premium ou l’affichage de contenus spécifiques.
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 = (profile: AdaptyProfile) => {
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);
}
};
Étapes suivantes
Maintenant que vous savez comment suivre le statut d’abonnement, apprenez à travailler avec les profils utilisateurs pour vous assurer qu’ils ont accès à ce pour quoi ils ont payé.