A family of Microsoft suites of integrated development tools for building applications for Windows, the web, mobile devices and many other platforms. Miscellaneous topics that do not fit into specific categories.
Bonjour Ken,
La recommandation officielle et la meilleure pratique de l'industrie pour gérer plusieurs environnements avec PlayFab est de créer des PlayFab Titles distincts au sein du même PlayFab Studio.
Voici pourquoi et comment structurer votre architecture :
1. Pourquoi utiliser plusieurs Titles (Dev / Staging / Prod) ?
- Isolation complète des données : L'économie du jeu (catalogs, drop tables), les données joueurs, les classements (leaderboards) et les monnaies virtuelles sont strictement séparés. Les données de test de votre équipe de dev ne pollueront jamais la base de joueurs réels.
- Sécurité & Contrôle d'accès (RBAC) : Vous pouvez limiter les permissions sur le Title de Production uniquement aux leads/admins, évitant toute erreur de manipulation ou déploiement accidentel.
- Limites de quotas et coûts : Des tests de charge ou du profiling en environnement de test n'affecteront pas les limites/quotas de votre serveur de production.
2. Comment structurer les Titles & Unity
- Dans Game Manager :
- Créez un Studio unique (ex. MonStudio).
- Créez 3 Titles distincts sous ce studio :
-
MonJeu - Dev(Title ID:XXXX1) -
MonJeu - Staging / QA(Title ID:XXXX2) -
MonJeu - Prod(Title ID:XXXX3)
-
- Côté Unity :
- Dans votre projet Unity, configurez le
PlayFabSettings.TitleIddynamiquement selon la configuration de build ou via des ScriptableObjects / symboles de préprocesseur (#if DEVELOPMENT_BUILD, etc.).
- Dans votre projet Unity, configurez le
3. Gestion de CloudScript & CI/CD avec GitHub
Concernant les révisions de CloudScript (Legacy ou Azure Functions) :
- Si vous utilisez CloudScript Legacy (JavaScript) :
- Bien que PlayFab permette de définir une version "Live", cela reste limité au niveau d'un seul Title.
- Il est fortement recommandé d'utiliser l'API Admin de PlayFab (
UpdateCloudScript) dans une GitHub Action :- Branche
develop$\rightarrow$ Déploie automatiquement vers le TitleDev. - Branche
staging$\rightarrow$ Déploie vers le TitleStaging. - Branche
main(ou release tag) $\rightarrow$ Déploie vers le TitleProdavec approbation manuelle requise.
- Branche
- Si vous utilisez CloudScript avec Azure Functions (Recommandé par PlayFab) :
- Déployez 3 Azure Function Apps distinctes (une par environnement) reliées respectivement à chaque Title PlayFab via votre pipeline CI/CD GitHub Actions.
En résumé
- ✅ Architecture recommandée : 1 Studio $\rightarrow$ 3 PlayFab Titles distincts (
Dev,Staging,Prod). - ✅ GitHub CI/CD : Chaque branche Git déploie le CloudScript vers son Title PlayFab respectif via des secrets GitHub (
PLAYFAB_DEV_SECRET_KEY,PLAYFAB_PROD_SECRET_KEY, etc.).
J'espère que cela vous aidera à mettre en place un pipeline sécurisé et robuste pour votre jeu !