Vérifier le statut d'abonnement dans le SDK Unity
Avec Adapty, suivre le statut d’un abonnement est simple. Vous n’avez pas besoin d’insérer manuellement des ID de produits dans votre code. Il vous suffit de vérifier l’existence d’un niveau d’accès actif pour confirmer le statut d’abonnement d’un utilisateur.
Avant de vérifier le statut d’abonnement (Cliquez pour développer)
- Pour iOS, configurez les App Store Server Notifications
- Pour Android, configurez les Real-time Developer Notifications (RTDN)
Niveau d’accès et l’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 fois que des modifications surviennent. Ainsi, vous pouvez 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 ? 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() :
Adapty.GetProfile((profile, error) => {
if (error != null) {
// handle the error
return;
}
// check the access
});
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 dispose d’un accès premium à l’application. La méthode |
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, un seul niveau d’accès suffira ; 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 » :
Adapty.GetProfile((profile, error) => {
if (error != null) {
// handle the error
return;
}
// "premium" is an identifier of default access level
var accessLevel = profile.AccessLevels["premium"];
if (accessLevel != null && accessLevel.IsActive) {
// grant access to premium features
}
});
É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, vous devez effectuer quelques configurations supplémentaires :
Dans le SDK 4.0, les interfaces de listener suivent la convention C# avec préfixe I : implémentez IAdaptyEventListener plutôt que AdaptyEventListener. Les méthodes restent inchangées. Consultez le guide de migration.
// Extend `AdaptyEventListener ` with `OnLoadLatestProfile ` method:
public class AdaptyListener : MonoBehaviour, AdaptyEventListener {
public void OnLoadLatestProfile(AdaptyProfile 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 sera 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 sur le statut d’abonnement du profil.
Cependant, il est important de noter qu’il n’est pas possible d’effectuer des requêtes directes sur le cache. Le SDK interroge périodiquement le serveur toutes les minutes pour vérifier s’il existe des mises à jour ou des modifications liées au profil. Si des changements sont détectés, comme de nouvelles transactions ou d’autres mises à jour, ils seront envoyés aux données en cache afin de les maintenir synchronisées avec le serveur.