Passer au contenu principal
Ce guide vous aide à migrer des anciens SDK PlayFab v1 vers le nouveau SDK unifié PlayFab v2. Le SDK unifié regroupe des SDK auparavant distincts (Core, Services, Party, Multiplayer) en une solution unique et intégrée, avec une meilleure interopérabilité et une authentification simplifiée.

Vue d’ensemble des modifications

Le SDK unifié PlayFab v2 introduit plusieurs améliorations clés :
  • Architecture unifiée : tous les services PlayFab (Core, Services, Party, Multiplayer, GameSave) sont intégrés dans un seul SDK
  • Authentification simplifiée : une seule connexion donne accès à tous les services PlayFab via des handles d’entité
  • Gestion automatique des jetons : plus besoin d’actualiser manuellement les jetons ni de gérer les ID d’entité
  • Interopérabilité améliorée : communication fluide entre les différents services PlayFab
  • Structure de projet simplifiée : une seule installation de SDK au lieu de plusieurs packages distincts

Modifications de la structure du projet

Pour les utilisateurs du GDK

Ancienne structure (GDK 2504 et versions antérieures) :
  • Extensions distinctes pour chaque composant du SDK
  • Dossiers d’inclusion et de bibliothèques individuels : PlayFab.Services.Cpp, PlayFab.Party.Cpp, PlayFab.Multiplayer.Cpp
  • Chaque service avait un nom ExtensionLibrary distinct dans le GDK
  • Plusieurs téléchargements requis depuis GitHub pour les différents services PlayFab
Nouvelle structure (GDK 2510 et versions ultérieures) :
  • Un seul SDK PlayFab unifié
  • Structure organisée par plateforme avec des sous-dossiers (xbox, windows, etc.)
  • Tous les en-têtes regroupés dans un seul dossier includes (Core, Services, Multiplayer, Party, GameSave)
  • Bibliothèques combinées dans un dossier lib unifié

Mise à jour des références de votre projet

Pendant la période de transition (GDK 2510), l’ancien et le nouveau SDK coexistent. Pour migrer :
  1. Supprimez les anciennes références : supprimez les références à PlayFab.Services.Cpp, PlayFab.Party.Cpp et aux autres extensions de SDK individuelles
  2. Ajoutez la référence unifiée : référencez le nouveau SDK unifié PlayFab ou mettez à jour les chemins d’inclusion et de bibliothèques vers les emplacements unifiés
  3. Anticipez l’avenir : Microsoft supprimera les anciens dossiers dans les futures versions du GDK (éventuellement d’ici 2026) ; mettez donc à jour vos fichiers de projet en conséquence

Pour les utilisateurs de GitHub/autonomes

  • Remplacez les multiples téléchargements de SDK par le package SDK unifié unique
  • Mettez à jour les chemins du projet pour utiliser la nouvelle structure de dossiers organisée par plateforme

Authentification et gestion des entités

Le concept d’entités et de jetons d’entité existe dans les deux versions, mais leur utilisation a été simplifiée dans la v2.

Modifications de la gestion des jetons

Approche des SDK autonomes PlayFab (v1) :
  • Récupération manuelle des jetons à l’aide de PFAuthenticationGetEntityTokenAsync
  • Actualisation manuelle des jetons à leur expiration
  • Transmission de l’ID d’entité et des chaînes de jeton aux autres services (par exemple, partyManager.CreateLocalUser(entityId, titlePlayerEntityToken, &localUser))
Approche du SDK unifié PlayFab (v2) :
  • Gestion automatique des jetons par le SDK Core
  • Actualisation des jetons en arrière-plan avant leur expiration
  • Transmission directe du PFEntityHandle aux autres services (par exemple, partyManager.CreateLocalUser(entityHandle, &localUser))

Étapes de migration pour l’authentification

  1. Supprimez la gestion manuelle des jetons : supprimez le code qui récupère ou vérifie manuellement les jetons PlayFab
  2. Stockez les handles d’entité : conservez le PFEntityHandle obtenu lors de la connexion et utilisez-le dans tous les services PlayFab
  3. Mettez à jour les appels de service : remplacez les paramètres d’ID d’entité et de jeton par des handles d’entité
  4. Gérez la réauthentification : utilisez les API PFAuthenticationReLogin*Async pour les scénarios de réauthentification

Modifications d’API incompatibles par composant

PlayFab Core

Impact de la migration : modifications minimes requises
  • La plupart des appels au service Core restent inchangés
  • Mettez à jour les chemins d’inclusion pour qu’ils pointent vers les en-têtes du SDK unifié

PlayFab Services

Impact de la migration : modifications minimes requises
  • La plupart des appels Services restent inchangés
  • Mettez à jour les chemins d’inclusion pour qu’ils pointent vers les en-têtes du SDK unifié

PlayFab Party (mise en réseau/voix)

Impact de la migration : petites modifications requises

Modifications de l’initialisation

Initialisation v1 :
Initialisation v2 :

Modifications de la création d’utilisateurs locaux

Approche v1 :
Approche v2 :

Étapes de migration pour Party

  1. Mettez à jour l’initialisation : remplacez le simple appel PartyManager::Initialize() par l’approche utilisant une structure de configuration
  2. Supprimez la récupération des jetons : supprimez tout code qui obtient manuellement l’ID d’entité et le jeton pour Party
  3. Transmettez des handles d’entité : utilisez directement PFEntityHandle au lieu de paramètres de type chaîne
  4. Supprimez la logique d’actualisation des jetons : supprimez le code qui vérifie ou actualise périodiquement les jetons Party
  5. Mettez à jour les dépendances : assurez-vous que PlayFab Core est initialisé avant PartyManager::Initialize()
  6. Supprimez les appels propres à XBOX : remplacez PartyXblManagerInitialize() par l’appel générique PartyInitialize() sur XBOX

PlayFab Multiplayer (Lobby et matchmaking)

Impact de la migration : petites modifications requises Les concepts de base (lobby, ticket de matchmaking) restent les mêmes, mais les fonctions attendent désormais des handles d’entité au lieu de chaînes.

Modifications des opérations de lobby

Approche v1 :
Approche v2 :

Étapes de migration pour Multiplayer

  1. Mettez à jour les appels de fonction : remplacez les paramètres d’ID PlayFab et de jeton d’entité par PFEntityHandle
  2. Supprimez les étapes d’authentification : supprimez les appels distincts « Authenticate Multiplayer »
  3. Initialisez explicitement : appelez PFMultiplayerInitialize() et éventuellement PFMultiplayerStartProcessing()
  4. Mettez à jour le matchmaking : utilisez des handles d’entité lors de la création des tickets de matchmaking

Liste de vérification générale de la migration

Mises à jour du code

  • Mettre à jour les chemins d’inclusion : pointez vers le répertoire d’inclusion du SDK unifié
  • Mettre à jour l’édition des liens des bibliothèques : liez les bibliothèques unifiées au lieu des bibliothèques distinctes
  • Supprimer les fonctions dépréciées : supprimez les appels aux fonctions supprimées, comme PartyManager::CreateLocalUserWithEntityType
  • Remplacer la gestion manuelle des jetons : supprimez la logique de mise en cache et d’actualisation des jetons
  • Mettre à jour l’ordre d’initialisation : assurez-vous que PlayFab Core est initialisé avant les autres services

Liste de vérification des tests

Après la migration, vérifiez chaque sous-système :
  • Authentification : la connexion renvoie un handle d’entité valide
  • Opérations de lobby : la création et la jonction de lobbies fonctionnent correctement
  • Mise en réseau Party : les joueurs peuvent se connecter et communiquer entre différentes machines
  • Gestion des erreurs : tous les appels PlayFab gèrent correctement les erreurs
  • Scénarios multi-utilisateurs : plusieurs utilisateurs locaux fonctionnent, le cas échéant

Problèmes courants et solutions

Erreurs du compilateur concernant des paramètres manquants :
  • Vérifiez si les signatures de fonction ont changé pour exiger un PFEntityHandle
  • Assurez-vous de transmettre le handle d’entité au lieu d’ID sous forme de chaînes
Échecs d’authentification à l’exécution :
  • Vérifiez que PlayFab Core est initialisé avant les autres services
  • Vérifiez que la connexion est terminée avant de créer des utilisateurs locaux dans Party/Multiplayer
Régressions de performances :
  • Rares, mais vérifiez que la v2 n’introduit pas de problèmes dans les chemins de code critiques en termes de performances

Avantages de la migration

Simplification du code

  • Complexité réduite : supprimez le code de contournement lié à la séparation des services de la v1
  • Gestion unifiée des erreurs : tous les services PlayFab utilisent un signalement des erreurs cohérent
  • Authentification centralisée : un seul flux de connexion pour toutes les fonctionnalités PlayFab

Interopérabilité améliorée

  • Intégration fluide : l’ajout de nouvelles fonctionnalités PlayFab nécessite une configuration minimale
  • Meilleure prise en charge multi-utilisateurs : le SDK unifié gère plus efficacement plusieurs utilisateurs locaux
  • Modèle d’entité cohérent : même approche d’authentification pour tous les services

Pérennité

  • Développement actif : la v2 est la version activement maintenue
  • Nouvelles fonctionnalités : les futures fonctionnalités PlayFab cibleront le SDK unifié
  • Support à long terme : les SDK v1 finiront par être dépréciés

Étapes suivantes

  1. Mettez à jour la structure du projet : migrez vers la structure du SDK unifié
  2. Refactorisez l’authentification : implémentez l’approche basée sur les handles d’entité
  3. Testez minutieusement : vérifiez que toutes les fonctionnalités PlayFab fonctionnent correctement
  4. Nettoyez le code : supprimez les contournements v1 dépréciés et la gestion manuelle des jetons
  5. Surveillez les performances : assurez-vous que la migration n’introduit pas de problèmes de performances
Pour obtenir de l’aide supplémentaire, consultez la documentation et les exemples du SDK unifié PlayFab pour votre plateforme.
Dernière modification le 8 octobre 2026