Vérifier le statut d'abonnement dans le SDK Flutter
Avec Adapty, suivre le statut d’abonnement est simple. Pas besoin d’insérer manuellement des identifiants de produits dans votre code. Il vous suffit de vérifier la présence d’un niveau d’accès actif pour confirmer l’abonnement d’un utilisateur.
Avant de vérifier le statut d’abonnement (cliquez pour développer)
- Pour iOS, configurez les notifications serveur App Store
- Pour Android, configurez les notifications en temps réel pour les développeurs (RTDN)
Niveau d’accès et objet AdaptyProfile
Les niveaux d’accès sont des propriétés de l’objet AdaptyProfile. Nous recommandons de récupérer le profil au démarrage de l’application, par exemple lorsque vous identifiez un utilisateur, puis de le mettre à jour à chaque modification. Vous pouvez ainsi utiliser l’objet profil sans le redemander à chaque fois.
Pour être notifié des mises à jour du profil, écoutez les changements 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 ? Consultez nos exemples d’applications, qui illustrent la configuration complète, notamment l’affichage des paywalls, les 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 {
final profile = await Adapty().getProfile();
// check the access
} on AdaptyError catch (adaptyError) {
// handle the error
} catch (e) {
}
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’app. La méthode |
La méthode .getProfile() vous fournit le profil utilisateur depuis lequel vous pouvez obtenir le statut du niveau d’accès. Vous pouvez avoir plusieurs niveaux d’accès par app. Par exemple, si vous avez une application d’actualités et vendez des abonnements à différentes thématiques indépendamment, vous pouvez créer les niveaux d’accès “sports” et “science”. Mais la plupart du temps, un seul niveau d’accès suffit ; dans ce cas, vous pouvez simplement utiliser le niveau d’accès “premium” par défaut.
Voici un exemple de vérification du niveau d’accès “premium” par défaut :
try {
final profile = await Adapty().getProfile();
if (profile?.accessLevels['premium']?.isActive ?? false) {
// grant access to premium features
}
} on AdaptyError catch (adaptyError) {
// handle the error
} catch (e) {
}
É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 les messages d’Adapty, une configuration supplémentaire est nécessaire :
Adapty().didUpdateProfileStream.listen((profile) {
// handle any changes to subscription state
});
Adapty déclenche également un événement au démarrage de l’application. Dans ce cas, le statut d’abonnement mis en cache est transmis.
Cache du statut 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 en cache restent accessibles pour fournir les informations relatives au statut d’abonnement du profil.
Il est cependant important de noter qu’il n’est pas possible d’interroger directement le cache. Le SDK interroge périodiquement le serveur toutes les minutes pour détecter les mises à jour ou modifications liées au profil. En cas de changements, comme de nouvelles transactions ou d’autres mises à jour, ceux-ci sont envoyés dans le cache afin de le maintenir synchronisé avec le serveur.