Vérifier le statut d'abonnement dans le SDK iOS

Avec Adapty, suivre le statut d’abonnement est simple. Vous n’avez pas à insérer manuellement des identifiants de produits dans votre code. Il vous suffit de vérifier le statut d’abonnement d’un utilisateur en contrôlant l’existence d’un niveau d’accès actif.

Avant de commencer à vérifier le statut d’abonnement, configurez les notifications serveur App Store.

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 votre application, par exemple lorsque vous identifiez un utilisateur, puis de le mettre à jour à chaque modification. Vous pouvez ainsi utiliser l’objet profil sans avoir à le redemander constamment.

Pour être notifié des mises à jour du profil, écoutez les changements comme décrit dans la section Écouter les mises à jour du statut d’abonnement 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() :

Paramètres de la réponse :

ParamètreDescription
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 à jour, 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 retournées. Il est également important de noter que le SDK Adapty met à jour le cache AdaptyProfile régulièrement afin de maintenir ces informations aussi à jour que possible.

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 application. Par exemple, si vous avez une application de journal et que vous vendez des abonnements à différents sujets 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 « premium » par défaut :

É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, vous devez effectuer quelques configurations supplémentaires :

Adapty.delegate = self

// To receive subscription updates, extend `AdaptyDelegate` with this method:
nonisolated func didLoadLatestProfile(_ profile: AdaptyProfile) {
    // 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 en cache est transmis.

Cache du statut d’abonnement

Le cache implémenté dans le SDK Adapty stocke le statut d’abonnement du profil. Cela signifie que même si le serveur est indisponible, les données en cache restent accessibles pour fournir des informations sur le statut d’abonnement du profil.

Il est toutefois 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 vérifier les éventuelles mises à jour liées au profil. En cas de modifications — nouvelles transactions ou autres changements — elles sont transmises aux données en cache afin de les maintenir synchronisées avec le serveur.