S'authentifier de manière anonyme avec Firebase à l'aide d'Unity

Vous pouvez utiliser Firebase Authentication pour créer et utiliser des comptes anonymes temporaires pour s'authentifier auprès de Firebase. Ces comptes anonymes temporaires peuvent être utilisés pour permettre aux utilisateurs qui ne se sont pas encore inscrits à votre application de travailler avec des données protégées par des règles de sécurité. Si un utilisateur anonyme décide de s'inscrire à votre application, vous pouvez leurs identifiants de connexion pour pouvoir continuer à travailler avec leurs données protégées les prochaines sessions.

Avant de commencer

  1. Avant de pouvoir utiliser Firebase Authentication vous devez ajouter le SDK Unity Firebase (plus précisément, FirebaseAuth.unitypackage) à votre projet Unity.

    Pour obtenir des instructions détaillées sur ces étapes de configuration initiales, consultez Ajouter Firebase à votre projet Unity.

  2. Si vous n'avez pas encore associé votre application à votre projet Firebase, faites-le depuis la console Firebase.
  3. Activer l'authentification anonyme:
    1. Dans la console Firebase, ouvrez la section Authentification.
    2. Sur la page Sign-in Methods (Méthodes de connexion), activez l'option Anonyme. méthode de connexion.
    3. Facultatif: Si vous avez mis à niveau votre projet vers Firebase Authentication with Identity Platform, vous pouvez activer le nettoyage automatique. Quand ? les comptes anonymes de plus de 30 jours supprimés. Dans les projets pour lesquels le nettoyage automatique est activé, l'authentification sont comptabilisées dans les limites d'utilisation ou les quotas de facturation. Consultez la section Nettoyage automatique.

S'authentifier de manière anonyme avec Firebase

Lorsqu'un utilisateur déconnecté utilise une fonctionnalité de l'application qui nécessite une authentification auprès de Firebase, connectez l'utilisateur de manière anonyme en procédant comme suit:

La classe FirebaseAuth sert de passerelle pour tous les appels d'API. Il est accessible via FirebaseAuth.DefaultInstance.
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
1. Appelez Firebase.Auth.FirebaseAuth.SignInAnonymouslyAsync.
auth.SignInAnonymouslyAsync().ContinueWith(task => {
  if (task.IsCanceled) {
    Debug.LogError("SignInAnonymouslyAsync was canceled.");
    return;
  }
  if (task.IsFaulted) {
    Debug.LogError("SignInAnonymouslyAsync encountered an error: " + task.Exception);
    return;
  }

  Firebase.Auth.AuthResult result = task.Result;
  Debug.LogFormat("User signed in successfully: {0} ({1})",
      result.User.DisplayName, result.User.UserId);
});

Convertir un compte anonyme en compte permanent

Lorsqu'un utilisateur anonyme s'inscrit à votre application, vous pouvez lui permettre de poursuivre son travail avec son nouveau compte. Par exemple, vous pouvez mettre à sa disposition les articles qu'il a ajoutés à son panier avant de s'inscrire dans le panier de son nouveau compte. Pour cela, procédez comme suit :

  1. Lorsque l'utilisateur s'inscrit, suivez la procédure de connexion d'authentification jusqu'à l'appel de l'un des Firebase.Auth.FirebaseAuth.SignInAndRetrieveDataWithCredentialAsync. Par exemple, récupérez le jeton d'ID Google de l'utilisateur, Jeton d'accès Facebook, ou adresse e-mail et mot de passe.
  2. Obtenez un Firebase.Auth.Credential pour le nouveau fournisseur d'authentification:

  3. Transmettez l'objet Firebase.Auth.Credential à l'interface utilisateur Méthode LinkWithCredentialAsync:

Si l'appel à LinkWithCredentialAsync aboutit, le nouveau compte de l'utilisateur peut accéder aux données Firebase du compte anonyme.

Nettoyage automatique

Si vous êtes passé à Firebase Authentication with Identity Platform, vous pouvez activer le nettoyage automatique dans la console Firebase. En activant cette fonctionnalité, vous autorisez Firebase supprime automatiquement les comptes anonymes datant de plus de 30 jours. Dans les projets avec (nettoyage activé), l'authentification anonyme ne sera pas prise en compte dans les limites d'utilisation ni dans les quotas de facturation.

  • Tous les comptes anonymes créés après l'activation du nettoyage automatique peuvent être automatiquement supprimées à tout moment 30 jours après leur création.
  • Les comptes anonymes existants pourront être supprimés automatiquement 30 jours après en activant le nettoyage automatique.
  • Si vous désactivez le nettoyage automatique, les comptes anonymes programmés pour être supprimés resteront programmés pour être supprimés.
  • Si vous passez à un forfait supérieur un compte anonyme en l'associant à une méthode de connexion quelconque, le compte ne sont pas automatiquement supprimées.

Si vous souhaitez savoir combien d'utilisateurs seront concernés avant d'activer cette fonctionnalité et que vous avez mis à niveau votre projet vers Firebase Authentication with Identity Platform, vous pouvez filtrer par is_anon dans le cloud Journalisation.

Étapes suivantes

Maintenant que les utilisateurs peuvent s'authentifier auprès de Firebase, vous pouvez contrôler leur accès à dans votre base de données Firebase Règles Firebase.