Ce guide couvre spécifiquement les exigences d’implémentation de PlayFab Game Saves sur Steam Deck avec le GDK d’octobre 2025. Avant d’implémenter la prise en charge du Steam Deck, assurez-vous d’avoir rempli les exigences de base de l’implémentation avec le GDK d’octobre 2025.
Vue d’ensemble
L’intégration de Game Saves sur Steam Deck peut être implémentée avec différents niveaux de complexité selon vos exigences multiplateformes. Vous pouvez choisir entre une approche simplifiée limitée à Steam et une intégration complète à l’écosystème XBOX avec des flux d’authentification plus complexes.Différence critique - comportement de synchronisation : sous Windows, Game Saves peut s’exécuter entièrement hors processus et poursuivre la synchronisation au-delà de la durée de vie du jeu. Sur Steam Deck, Game Saves s’exécute uniquement dans le processus. Cela signifie que la synchronisation des sauvegardes s’arrête à l’arrêt du jeu, ce qui oblige les jeux à adopter des synchronisations fréquentes pour éviter de perdre une progression non synchronisée. Bonne pratique pour toutes les plateformes : bien que ces modèles de synchronisation soient requis pour le Steam Deck, ils sont fortement recommandés pour toutes les plateformes, en particulier les appareils portables ou tout scénario dans lequel des arrêts soudains peuvent se produire (batterie épuisée, plantage du système, fermeture forcée).
Différences de comportement du moteur de synchronisation
Recommandations générales de synchronisation (utiles pour toutes les plateformes) :
- Synchronisez fréquemment les données de sauvegarde (par exemple, après chaque niveau, point de contrôle ou progression importante)
- Synchronisez toujours avant d’afficher une confirmation de « quitter le jeu »
- Envisagez une synchronisation en arrière-plan lors des transitions de jeu
- Implémentez des indicateurs de progression de la synchronisation pour garantir qu’elle se termine avant l’arrêt
- C’est particulièrement important pour les appareils portables, sur lesquels l’épuisement de la batterie ou les arrêts soudains sont fréquents
Prérequis
Avant d’implémenter la prise en charge du Steam Deck, assurez-vous :- D’avoir terminé la configuration du GDK d’octobre 2025 : suivez le guide d’implémentation avec le GDK d’octobre 2025
- D’avoir intégré l’API Steam : initialisation de base de l’API Steam et détection du Steam Deck
- D’avoir choisi une approche d’intégration : choisissez entre l’intégration à l’écosystème XBOX et l’intégration d’une identité personnalisée (voir ci-dessous)
- De disposer de toutes les DLL requises : les DLL du SDK unifié doivent être déployées avec votre build Steam
Approches d’implémentation
Le Steam Deck offre deux approches d’implémentation, avec des niveaux de complexité et des capacités multiplateformes différents. PlayFab Game Saves est utile pour la synchronisation multiplateforme des sauvegardes au-delà de l’écosystème Steam : vous aurez besoin soit de l’intégration XBOX Live (approche 1), soit de votre propre système d’identité de joueur personnalisé (approche 2).Approche 1 : intégration à l’écosystème XBOX (recommandée)
Avantages :- Synchronisation multiplateforme complète : les données de sauvegarde se synchronisent entre le Steam Deck, les consoles XBOX, le PC Microsoft Store et les autres plateformes compatibles XBOX
- Intégration XBOX Live : les joueurs utilisent leur gamertag XBOX et peuvent accéder aux fonctionnalités sociales XBOX
- Identité de joueur unifiée : le même profil de joueur sur toutes les plateformes
- Authentification éprouvée : tire parti de l’infrastructure d’authentification mature de XBOX Live
- Compatibilité XBOX Game Studios : intégration transparente pour les studios first-party et partenaires XBOX
- Authentification complexe : des gestionnaires d’événements XUser et des rappels d’interface utilisateur personnalisés sont requis
- Configuration d’un bac à sable de développement : requise pour les environnements de test autres que de production
- Privilèges d’administrateur : requis pour les modifications du Registre lors de la configuration du bac à sable
- Implémentation d’une interface utilisateur supplémentaire : authentification par code QR et boîtes de dialogue de sélection du gamertag
Approche 2 : implémentation d’une identité personnalisée (alternative)
Avantages :- Complexité de connexion potentiellement réduite : aucune authentification d’utilisateur XBOX requise
- Aucune configuration du Registre : aucune configuration de bac à sable nécessaire
- Aucune API XUser : élimine les gestionnaires d’événements complexes
- Flexibilité de l’identité personnalisée : implémentez votre propre système d’identité de joueur multiplateforme
- Gestion manuelle des joueurs : vous devez implémenter votre propre système d’identité de joueur multiplateforme
- Intégration limitée à l’écosystème : aucun accès aux fonctionnalités sociales XBOX Live ni à la base de joueurs XBOX existante
- Passerelles entre plateformes : nécessite des solutions personnalisées pour relier les joueurs des différentes plateformes
- Infrastructure d’identité supplémentaire : vous devez créer ou intégrer des systèmes d’identité tiers
LoginWithOpenIdConnect, ce qui permet l’intégration avec des fournisseurs d’identité personnalisés prenant en charge la norme OpenID Connect.
Configuration commune (les deux approches)
Les étapes de configuration suivantes sont requises quelle que soit l’approche d’implémentation choisie.1. Exigences de déploiement des DLL
Le Steam Deck exige que toutes les DLL du SDK unifié soient déployées avec votre jeu : DLL requises :libHttpClient.dll: opérations HTTPPlayFabCore.dll: authentification et services principauxPlayFabGameSave.dll: fonctionnalités de Game Savesxgameruntime.dll: fonctionnalités principales du SDK et connexion XBOX
PlayFabServices.dll: services PlayFab supplémentaires (recommandée)
2. Prérequis de l’intégration Steam
Intégration de l’API Steam
Détection de la plateforme
Implémentez la détection de la plateforme au début de votre initialisation :3. Implémentation des rappels d’interface utilisateur
Exigence d’interface utilisateur sur Steam Deck : tous les rappels d’interface utilisateur de PlayFab Game Saves sont requis sur Steam Deck, quelle que soit l’approche d’implémentation choisie. En effet, le Steam Deck ne dispose d’aucune interface utilisateur intégrée pour les opérations de Game Saves; votre application doit donc fournir toutes les boîtes de dialogue.
Rappels d’interface utilisateur de Game Saves (requis pour les deux approches)
Les implémentations avec identité personnalisée et avec l’écosystème XBOX nécessitent les mêmes rappels d’interface utilisateur de PlayFab Game Saves :- Boîtes de dialogue de progression : affichent la progression de la synchronisation pendant les opérations de sauvegarde
- Gestion des erreurs : affiche les messages d’échec de synchronisation et les options de nouvelle tentative
- Résolution des conflits : gère les conflits de sauvegarde entre appareils
- Contention entre appareils : gère les scénarios d’accès depuis plusieurs appareils
- Gestion de le stockage : informe les utilisateurs des problèmes de quota de stockage
Approche 1 : intégration à l’écosystème XBOX - implémentation complète
Cette approche offre une synchronisation multiplateforme complète entre le Steam Deck, les consoles XBOX, le PC Microsoft Store et les autres plateformes compatibles XBOX. Choisissez cette approche si votre jeu cible les plateformes XBOX ou nécessite une intégration XBOX Live.Vue d’ensemble
Prérequis :- Avoir terminé la configuration commune (sections 1 à 3 ci-dessus)
- Disposer d’un accès à un bac à sable de développement pour les tests
- Disposer de privilèges d’administrateur pour la configuration du Registre (développement/test uniquement)
1. Configuration du Registre
Le Steam Deck nécessite une configuration du bac à sable XBOX Live pour les tests dans des bacs à sable autres que de production :- Clé :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\XboxLive\Sandbox - Valeur : ID du bac à sable de développement (par exemple, “XDKS.1”)
- Moment : doit être défini avant l’initialisation des services XBOX Live
- Privilèges : nécessite un accès administrateur
- Utilisation : requise uniquement pour les tests dans des bacs à sable autres que de production (environnements de développement/test)
2. Gestionnaires d’événements de plateforme XUser
Le Steam Deck nécessite deux ensembles critiques de gestionnaires d’événements pour l’authentification XBOX :A. Gestionnaires d’événements Remote Connect
Ils gèrent le flux d’authentification à distance (affichage du code QR/de l’URL) :B. Gestionnaires d’événements SPOP (invite de connexion)
Ils gèrent l’invite de connexion SPOP utilisée lorsque le compte d’un utilisateur est déjà connecté sur un autre appareil :XUserPlatformSpopPromptComplete(operation, result) avec le résultat choisi.
3. Implémentation de l’interface utilisateur d’authentification
En plus des rappels d’interface utilisateur de Game Saves (section 3), l’intégration à l’écosystème XBOX nécessite :- Une boîte de dialogue Remote Connect : affiche le code QR et l’URL permettant aux utilisateurs de s’authentifier sur un autre appareil
- Une boîte de dialogue d’invite SPOP : permet aux utilisateurs de sélectionner/confirmer leur gamertag XBOX
4. Séquence d’initialisation
Suivez cette séquence d’initialisation pour l’intégration à l’écosystème XBOX :5. Implémentation de la déconnexion
Le Steam Deck nécessite une gestion particulière de la déconnexion afin d’effacer les informations d’identification XBOX stockées :6. Liste de contrôle des tests
Utilisez cette liste de contrôle pour valider votre implémentation avec l’écosystème XBOX :- Flux d’authentification : testez l’authentification Remote Connect (code QR/URL)
- Rappels d’interface utilisateur : vérifiez que toutes les boîtes de dialogue de Game Saves s’affichent correctement
- Invites SPOP : testez la sélection et la confirmation du gamertag
- Persistance des informations d’identification : testez la persistance de la connexion d’un redémarrage de l’application à l’autre
- Déconnexion : vérifiez que les informations d’identification sont correctement effacées lors de la déconnexion
- Comportement de synchronisation : testez les synchronisations fréquentes et la synchronisation avant l’arrêt
- Prévention des pertes de données : vérifiez qu’une progression minimale est perdue en cas de fermeture forcée
- Synchronisation multiplateforme : testez la synchronisation des sauvegardes entre le Steam Deck, les consoles XBOX et le PC Microsoft Store
- Configuration du Registre : vérifiez que la configuration du bac à sable fonctionne dans les environnements de développement
- Gestionnaires d’événements XUser : confirmez le bon fonctionnement des gestionnaires Remote Connect et SPOP
Approche 2 : implémentation d’une identité personnalisée - implémentation complète
Cette approche vous permet d’utiliser votre propre système d’identité de joueur sans intégration XBOX Live. Choisissez cette approche si votre jeu est centré sur Steam ou si vous disposez déjà d’un système d’identité personnalisé.Vue d’ensemble
Prérequis :- Avoir terminé la configuration commune (sections 1 à 3 ci-dessus)
- Disposer d’un système d’identité de joueur personnalisé pour la production
- Aucune authentification XBOX requise
- Aucune configuration du Registre nécessaire
- Aucun privilège d’administrateur requis
- Interface utilisateur plus simple (pas de code QR ni de sélection de gamertag)
- Vous devez implémenter votre propre identité de joueur multiplateforme
- Aucune fonctionnalité sociale XBOX Live
- Nécessite des solutions personnalisées de passerelle entre plateformes
1. Authentification par identité personnalisée
Implémentez votre propre système d’identité pour l’authentification multiplateforme des joueurs :2. Séquence d’initialisation
3. Implémentation de la déconnexion
4. Liste de contrôle des tests
Utilisez cette liste de contrôle pour valider votre implémentation avec identité personnalisée :- Système d’identité personnalisé : testez votre système personnalisé d’authentification et d’identité des joueurs
- Authentification PlayFab : testez la connexion PlayFab à l’aide de LoginWithOpenIdConnect (si vous utilisez OpenID Connect) ou de votre méthode d’authentification personnalisée
- Synchronisation multiplateforme de Game Saves : testez la synchronisation des sauvegardes sur toutes les plateformes cibles
- Rappels d’interface utilisateur : vérifiez que toutes les boîtes de dialogue de Game Saves s’affichent correctement
- Résolution des conflits : testez les conflits de sauvegarde entre appareils de différentes plateformes
- Comportement de synchronisation : testez les synchronisations fréquentes et la synchronisation avant l’arrêt
- Prévention des pertes de données : vérifiez qu’une progression minimale est perdue en cas de fermeture forcée
- Authentification personnalisée : testez les flux de connexion/déconnexion de votre système d’identité
- Couverture des plateformes : testez sur toutes les plateformes ciblées par votre jeu (et pas uniquement les appareils Steam)
- Scénarios réseau : testez les transitions hors connexion/en ligne
- Performances : vérifiez que les opérations de synchronisation n’affectent pas les performances du jeu
Référence des exemples de code
Pour des exemples d’implémentation complets des deux approches, consultez l’exemple de projet :- Emplacement : PlayFabGameSaveSample-Windows
- Fichiers clés :
SteamIntegration.cpp/.h: détection du Steam Deck, configuration du Registre, gestionnaires d’authentificationGameSaveIntegrationUI.cpp/.h: implémentations des rappels d’interface utilisateur pour les deux approches
