Vérifier le statut d'abonnement dans le SDK Capacitor
Avec Adapty, le suivi du statut d’abonnement est simplifié. Inutile d’insérer manuellement des identifiants de produit dans votre code. Vérifiez simplement la présence d’un niveau d’accès actif pour confirmer le statut d’abonnement d’un utilisateur.
Avant de commencer à vérifier le statut des abonnements (Cliquez pour développer)
- Pour iOS, configurez les notifications du serveur App Store
- Pour Android, configurez les notifications en temps réel pour les développeurs (RTDN)
Niveaux d’accès et l’objet AdaptyProfile
Les niveaux d’accès sont des propriétés de l’objet AdaptyProfile. Nous vous recommandons de récupérer le profil au démarrage de votre application, par exemple lors de l’identification d’un utilisateur, puis de le mettre à jour à chaque changement. Vous pouvez ainsi utiliser l’objet profil sans avoir à le redemander à chaque fois.
Pour être notifié des mises à jour de profil, écoutez les changements de profil comme décrit dans la section Écouter les mises à jour de profil, y compris les niveaux d’accès ci-dessous.
Vous souhaitez voir un exemple concret d’intégration du SDK Adapty dans une application mobile ? Découvrez nos applications exemples, qui illustrent la configuration complète, notamment l’affichage des paywalls, la réalisation d’achats et d’autres fonctionnalités de base.
Récupérer le niveau d’accès depuis le serveur
Pour obtenir le niveau d’accès depuis le serveur, utilisez la méthode .getProfile() :
try {
const profile = await adapty.getProfile();
console.log('Profile retrieved successfully');
} catch (error) {
console.error('Failed to get profile:', error);
}
Paramètres de réponse :
| Paramètre | Description |
|---|---|
| profile | Un objet AdaptyProfile. En général, il suffit de vérifier le statut du niveau d’accès du profil pour déterminer si l’utilisateur bénéficie d’un accès premium à l’application. La méthode .getProfile fournit le résultat le plus récent, car elle interroge toujours l’API. Si, pour une raison quelconque (par exemple, absence de connexion Internet), le SDK Adapty ne parvient pas à récupérer les informations depuis le serveur, les données en cache sont renvoyées. Il est également important de noter que le SDK Adapty met régulièrement à jour le cache AdaptyProfile afin de maintenir ces informations aussi à jour que possible. |
La méthode .getProfile() vous fournit le profil utilisateur à partir duquel vous pouvez obtenir le statut du niveau d’accès. Vous pouvez avoir plusieurs niveaux d’accès par application. Par exemple, si vous avez une application de presse et vendez des abonnements à différentes thématiques indépendamment, vous pouvez créer des niveaux d’accès « sports » et « science ». Mais la plupart du temps, vous n’aurez besoin que d’un seul niveau d’accès ; dans ce cas, vous pouvez simplement utiliser le niveau d’accès par défaut « premium ».
Voici un exemple pour vérifier le niveau d’accès par défaut « 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);
}
Écouter les mises à jour du statut d’abonnement
Chaque fois que l’abonnement d’un utilisateur change, Adapty déclenche un événement.
Pour recevoir des messages d’Adapty, quelques étapes de configuration supplémentaires sont nécessaires :
// 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 déclenche également un événement au démarrage de l’application. Dans ce cas, le statut d’abonnement mis en cache sera transmis.
Statut du cache d’abonnement
Le cache implémenté dans le SDK Adapty stocke le statut d’abonnement du profil. Ainsi, même si le serveur est indisponible, les données mises en cache restent accessibles pour fournir des informations sur le statut d’abonnement du profil.
Cependant, il est important de noter que les requêtes de données directes depuis le cache ne sont pas possibles. Le SDK interroge périodiquement le serveur toutes les minutes pour vérifier les mises à jour ou les modifications liées au profil. Si des modifications ont eu lieu, comme de nouvelles transactions ou d’autres mises à jour, elles seront envoyées aux données en cache afin de les maintenir synchronisées avec le serveur.