Identifier les utilisateurs dans le SDK Unity

Ce guide est fait pour vous si vous disposez de votre propre système d’authentification. Vous y apprendrez comment travailler avec les profils utilisateurs dans Adapty afin de les aligner avec votre système d’authentification existant.

La façon dont vous gérez les achats des utilisateurs dépend du modèle d’authentification de votre application :

Concepts clés :

  • Les profils sont les entités nécessaires au fonctionnement du SDK. Adapty les crée automatiquement.
  • Ils peuvent être anonymes (sans customer user ID) ou identifiés (avec customer user ID).
  • Vous fournissez un customer user ID afin de faire le lien entre les profils Adapty et votre système d’authentification interne.

Voici les différences entre les utilisateurs anonymes et identifiés :

Utilisateurs anonymesUtilisateurs identifiés
Gestion des achatsRestauration des achats au niveau du storeHistorique des achats conservé sur tous les appareils via leur customer user ID
Gestion des profilsNouveau profil à chaque réinstallationLe même profil sur toutes les sessions et tous les appareils
Persistance des donnéesLes données des utilisateurs anonymes sont liées à l’installation de l’applicationLes données des utilisateurs identifiés persistent d’une installation à l’autre

Utilisateurs anonymes

Si vous n’avez pas d’authentification backend, vous n’avez pas besoin de gérer l’authentification dans le code de l’application :

  1. Lorsque le SDK est activé au premier lancement de l’application, Adapty crée un nouveau profil pour l’utilisateur.
  2. Lorsque l’utilisateur effectue un achat dans l’application, celui-ci est associé à son profil Adapty et à son compte store.
  3. Lorsque l’utilisateur réinstalle l’application ou l’installe sur un nouvel appareil, Adapty crée un nouveau profil anonyme lors de l’activation.
  4. Si l’utilisateur a déjà effectué des achats dans votre application, par défaut, ses achats sont automatiquement synchronisés depuis l’App Store lors de l’activation du SDK.

Ainsi, avec des utilisateurs anonymes, de nouveaux profils sont créés à chaque installation, mais ce n’est pas un problème car, dans les analyses Adapty, vous pouvez configurer ce qui sera considéré comme une nouvelle installation.

Pour les utilisateurs anonymes, vous devez comptabiliser les installations par ID d’appareils. Dans ce cas, chaque installation de l’application sur un appareil est comptée comme une installation, y compris les réinstallations.

Utilisateurs identifiés

Vous avez deux options pour identifier les utilisateurs dans l’application :

  • Lors de la connexion/inscription : Si les utilisateurs se connectent après le démarrage de votre application, appelez identify() avec un customer user ID lorsqu’ils s’authentifient.

  • Lors de l’activation du SDK : Si vous disposez déjà d’un customer user ID stocké au lancement de l’application, envoyez-le lors de l’appel à activate().

Par défaut, lorsqu’Adapty reçoit un achat d’un Customer User ID actuellement associé à un autre Customer User ID, le niveau d’accès est partagé, de sorte que les deux profils ont un accès payant. Vous pouvez configurer ce paramètre pour transférer l’accès payant d’un profil à l’autre ou désactiver complètement le partage. Consultez l’article pour plus de détails.

identify-diagram.webp

Lors de la connexion/inscription

Si vous identifiez les utilisateurs après le lancement de l’application (par exemple, après qu’ils se soient connectés à votre application ou inscrits), utilisez la méthode identify pour définir leur customer user ID.

  • Si vous n’avez jamais utilisé ce customer user ID auparavant, Adapty le liera automatiquement au profil actuel.
  • Si vous avez déjà utilisé ce customer user ID pour identifier l’utilisateur, Adapty basculera vers le profil associé à ce customer user ID.

Les customer user IDs doivent être uniques pour chaque utilisateur. Si vous codez en dur la valeur du paramètre, tous les utilisateurs seront considérés comme un seul.

Attendez le callback de complétion d’Identify avant d’appeler d’autres méthodes du SDK. Les appels simultanés produisent #3006 profileWasChanged ou atterrissent sur le profil anonyme. Consultez Ordre des appels dans le SDK Unity.

Adapty.Identify("YOUR_USER_ID", (error) => { // Unique for each user
  if(error == null) {
    // successful identify
  }
});

Lors de l’activation du SDK

Si vous connaissez déjà un customer user ID lors de l’activation du SDK, vous pouvez l’envoyer dans la méthode activate plutôt que d’appeler identify séparément.

Si vous connaissez un customer user ID mais ne le définissez qu’après l’activation, cela signifie que, lors de l’activation, Adapty créera un nouveau profil anonyme et ne basculera vers le profil existant qu’après l’appel à identify.

Vous pouvez passer un customer user ID existant (que vous avez déjà utilisé auparavant) ou un nouveau. Si vous en passez un nouveau, le nouveau profil créé lors de l’activation sera automatiquement lié au customer user ID.

Par défaut, la création de profils anonymes n’affecte pas les tableaux de bord des analyses, car les installations sont comptées par ID d’appareils.

Un ID d’appareil représente une seule installation de l’application depuis le store sur un appareil et n’est régénéré qu’après la réinstallation de l’application. Il ne dépend pas du fait qu’il s’agisse d’une première ou d’une nouvelle installation, ni de l’utilisation d’un customer user ID existant.

La création d’un profil (lors de l’activation du SDK ou de la déconnexion), la connexion ou la mise à jour de l’application sans la réinstaller ne génèrent pas d’événements d’installation supplémentaires.

Si vous souhaitez comptabiliser les installations par utilisateurs uniques plutôt que par appareils, accédez à App settings et configurez Installs definition for analytics.

using UnityEngine;
using AdaptySDK;

var builder = new AdaptyConfiguration.Builder("YOUR_API_KEY")
    .SetCustomerUserId("YOUR_USER_ID"); // Customer user IDs must be unique for each user. If you hardcode the parameter value, all users will be considered as one.

Adapty.Activate(builder.Build(), (error) => {
    if (error != null) {
        // handle the error
        return;
    }
}); 

Déconnecter les utilisateurs

Si vous avez un bouton pour déconnecter les utilisateurs, utilisez la méthode logout.

La déconnexion d’un utilisateur crée un nouveau profil anonyme pour cet utilisateur.

Adapty.Logout((error) => {
  if(error == null) {
    // successful logout
  }
});

Pour reconnecter les utilisateurs à l’application, utilisez la méthode identify.

Autoriser les achats sans connexion

Si vos utilisateurs peuvent effectuer des achats aussi bien avant qu’après s’être connectés à votre application, vous devez vous assurer qu’ils conserveront leur accès après la connexion :

  1. Lorsqu’un utilisateur déconnecté effectue un achat, Adapty le lie à son ID de profil anonyme.
  2. Lorsque l’utilisateur se connecte à son compte, Adapty bascule vers son profil identifié.
    • S’il s’agit d’un nouveau customer user ID (par exemple, l’achat a été effectué avant l’inscription), Adapty attribue le customer user ID au profil actuel, de sorte que tout l’historique des achats est conservé.
    • S’il s’agit d’un customer user ID existant (le customer user ID est déjà lié à un profil), vous devez récupérer le niveau d’accès réel après le changement de profil. Vous pouvez soit appeler getProfile juste après l’identification, soit écouter les mises à jour du profil pour que les données se synchronisent automatiquement.

Prochaines étapes

Félicitations ! Vous avez implémenté la logique de paiement intégré dans votre application ! Nous vous souhaitons tout le succès possible pour la monétisation de votre application !

Pour tirer encore plus parti d’Adapty, vous pouvez explorer ces sujets :

  • Tests : Assurez-vous que tout fonctionne comme prévu
  • Onboardings : Engagez les utilisateurs avec des onboardings et favorisez la rétention
  • Intégrations : Intégrez des services d’attribution marketing et d’analyses en une seule ligne de code
  • Définir des attributs de profil personnalisés : Ajoutez des attributs personnalisés aux profils utilisateurs et créez des segments pour lancer des tests A/B ou afficher différents paywalls à différents utilisateurs