Joueurs et connexion

Des comptes invités qui survivent aux redémarrages, des noms affichés et la liaison des invités à un e-mail ou à Google.

Les commentaires du code et les noms d'API restent en anglais pour correspondre aux SDK.

Sur cette page

Connexion invité#

Appelez cette méthode une fois au démarrage. Elle restaure la session enregistrée (en la rafraîchissant si besoin) ou crée un nouvel invité : le même joueur conserve ainsi sa progression.

C#
var signIn = await Majacloud.Auth.SignInAnonymouslyAsync();
if (signIn.Ok)
{
    var player = signIn.Value;
    Debug.Log(player.PlayerId + " " + player.DisplayName + " guest: " + player.IsGuest);
}
La création de nouveaux invités est limitée à 30 par réseau toutes les 15 minutes, ce qui bloque la création de comptes par script.

Noms affichés#

Les invités reçoivent un nom généré comme Guest 4821. Les joueurs peuvent choisir le leur ; c'est celui qu'affichent les classements.

C#
var renamed = await Majacloud.Auth.SetDisplayNameAsync("Nova");
if (!renamed.Ok) Debug.Log(renamed.Error.Message); // e.g. Validation: too long

La liaison ouvre une page web sécurisée sur votre serveur MAJACLOUD, où le joueur se connecte ou s'inscrit avec un e-mail et un mot de passe ou avec Google. La progression de l'invité (scores, sauvegardes, portefeuille) est transférée sur ce compte, et le jeu reçoit la nouvelle session — sur n'importe quel appareil.

C#
// Opens the sign-in page, waits for the player, then switches the session
var linked = await Majacloud.Auth.LinkAccountAsync(new MajacloudLinkOptions { ReturnUrl = "mygame://auth" });
if (linked.Ok) Debug.Log("Signed in as " + linked.Value.DisplayName);

// WebGL: browsers only open tabs from a click, so start first and open inside the handler
var flow = await Majacloud.Auth.StartLinkAsync(new MajacloudLinkOptions { OpenBrowser = false });
linkButton.onClick.AddListener(() => flow.Value.OpenInBrowser());
var result = await flow.Value.WaitForCompletionAsync();
  1. Le SDK crée un secret à usage unique (PKCE) et démarre un flux de connexion.
  2. Le joueur termine sur la page web ; le SDK interroge le serveur jusqu'à ce que le flux soit terminé.
  3. Le SDK échange le flux contre une session à l'aide du secret : un lien volé est donc inutilisable.
  4. Les flux expirent au bout de 15 minutes (délai prolongé tant que la page est ouverte).

Retour au jeu#

Sans URL de retour, la page invite les joueurs à revenir au jeu. Pour les y renvoyer automatiquement, ajoutez votre schéma d'URL personnalisé (par exemple mygame) dans Clés API ▸ URL de retour après connexion du joueur et passez mygame://auth comme URL de retour.

Événements#

Réagissez quand le joueur change, se déconnecte ou quand la session ne peut plus être rafraîchie :

C#
Majacloud.Auth.PlayerChanged += player => nameLabel.text = player?.DisplayName;
Majacloud.Auth.SignedOut += () => ShowTitleScreen();
Majacloud.Auth.SessionExpired += () => ShowSignIn();

Déconnexion#

La déconnexion révoque la session sur le serveur et l'oublie sur l'appareil. La connexion suivante crée un nouvel invité.

C#
await Majacloud.Auth.SignOutAsync();   // revokes the session on the server
Majacloud.Auth.ClearLocalSession();   // or only forget it on this device

Lire les joueurs depuis votre serveur#

Avec la clé secrète, votre serveur peut lire n'importe quel joueur, y compris son e-mail et les soldes de son portefeuille :

JavaScript
// Node.js, created with secretKey
const found = await admin.server.getPlayer('player_3f9c…');
if (found.ok) console.log(found.value.player.email, found.value.player.wallets);

Dans le tableau de bord#

La page Joueurs liste tous les joueurs avec leur méthode de connexion, leurs scores, leurs sauvegardes et leur portefeuille. Vous pouvez y renommer ou désactiver un joueur, le déconnecter partout, lui envoyer un lien de réinitialisation du mot de passe ou le supprimer.

Recherche dans les titres de page, les intertitres et le texte.

↑↓ pour naviguer ↵ pour ouvrir Esc pour fermer