Passer au contenu principal
Le SDK PlayFab Services inclut un mécanisme d’actualisation des jetons en arrière-plan qui permet de maintenir la session de votre joueur active. Il est important de comprendre le fonctionnement de ce mécanisme, et de savoir quand votre jeu doit intervenir, en particulier pour les titres Game Development Kit (GDK) qui prennent en charge la suspension et la reprise.

Fonctionnement de l’actualisation automatique des jetons

Le SDK exécute un processus d’arrière-plan qui vérifie périodiquement le jeton d’entité du joueur. Si le jeton est toujours valide mais proche de son expiration (moins d’une heure avant l’expiration), le SDK se réauthentifie automatiquement à l’aide des informations d’identification de l’appel de connexion d’origine. Si cette actualisation réussit, le jeton est mis à jour de manière transparente et le PFEntityHandle reste valide. Votre jeu n’a aucune action à effectuer. Vous pouvez observer ces actualisations silencieuses de jetons en inscrivant un rappel PFEntityRegisterTokenRefreshedEventHandler (voir Actualisation transparente).

Quand votre jeu doit gérer l’expiration des jetons

Dans certains scénarios, le SDK ne peut pas actualiser automatiquement le jeton :
  • Le jeton a déjà expiré. L’actualisation automatique ne fonctionne que si le jeton est encore valide. Si le jeton a complètement expiré, par exemple après un long cycle de suspension/reprise, le SDK ne tente pas de reconnexion automatique. Il en informe plutôt votre jeu via le TokenExpiredHandler.
  • Les informations d’identification de connexion d’origine ne sont plus valides. Si le handle ou le jeton fourni initialement à la requête de connexion n’est plus valide, l’actualisation automatique échoue et le TokenExpiredHandler est appelé.
L’inscription d’un PFEntityTokenExpiredEventHandler est recommandée pour tous les titres et est indispensable pour les titres GDK qui prennent en charge la suspension et la reprise. Sans ce gestionnaire, votre jeu n’a aucun moyen de se rétablir après l’expiration d’un jeton.

Inscrire le TokenExpiredHandler

Utilisez PFEntityRegisterTokenExpiredEventHandler pour vous inscrire à un rappel, et PFAuthenticationReLoginWith*Async pour vous réauthentifier lorsque le jeton expire.

GDK : suspension, reprise et Quick Resume

Sur les plateformes GDK (consoles XBOX et Windows avec le GDK), un jeu peut être suspendu pendant une période prolongée, par exemple lorsque le joueur passe à un autre jeu, puis revient plus tard via Quick Resume. Pendant la suspension, le jeton d’entité peut expirer. Comme aucun code ne s’exécute pendant la suspension, l’actualisation périodique en arrière-plan du SDK ne peut pas maintenir le jeton actif.

Ce qui se passe à la reprise

Lorsque votre jeu reprend, le SDK détecte immédiatement l’état de reprise et vérifie le jeton d’entité. Il n’attend pas le cycle d’actualisation périodique suivant. Si le jeton a expiré pendant la suspension :
  1. Le SDK détecte le jeton expiré.
  2. Le rappel TokenExpiredHandler est appelé.
  3. Votre jeu doit appeler PFAuthenticationReLoginWith*Async depuis le gestionnaire pour obtenir un nouveau jeton.
La vérification du jeton à la reprise est déclenchée dès que la connectivité réseau est rétablie. Si le réseau met un certain temps à se réinitialiser après la reprise, le SDK attend la connectivité avant de vérifier le jeton. Aucune vérification de jeton n’est perdue.

Actualisation transparente

Si vous souhaitez que votre jeu sache quand le SDK actualise automatiquement le jeton d’entité du joueur, vous pouvez vous inscrire à un rappel. Ce gestionnaire est appelé lorsque le SDK actualise avec succès un jeton proche de son expiration ; votre jeu n’a aucune action à effectuer.

Désinscrire les gestionnaires

Lors de l’arrêt de PlayFab, ou lorsque vous souhaitez ne plus recevoir les rappels d’expiration et d’actualisation des jetons, appelez la fonction de désinscription appropriée.

Référence

Documentation de référence de l’API
Dernière modification le 8 octobre 2026