Configuration du projet Defold
Système d’exploitation : ce guide est rédigé pour Windows 10. Il devrait également fonctionner correctement sur Mac.- Créez un compte et téléchargez Defold, ou connectez-vous sur https://www.defold.com/ (utilise Google O-Auth) : https://d.defold.com/stable/.
- Si vous n’avez pas encore suivi le « Getting Started Tutorial » de Defold, faites-le maintenant.
- Créez un nouveau projet dans le tableau de bord Defold, comme illustré ci-dessous.

- Exécutez Defold et chargez votre nouveau projet. Plusieurs fenêtres semblables à l’exemple ci-dessous devraient s’afficher.

- Mettez à jour les paramètres du projet et incluez PlayFab dans les dépendances : https://github.com/PlayFab/LuaSdk/raw/master/Defold/PlayFabClientSdk.zip

- Sélectionnez Project -> Fetch Libraries. Un nouveau dossier PlayFab intégré devrait apparaître, comme illustré ci-dessous.

-
Créez quelques fichiers :
- main/PfGettingStarted.gui
- Sélectionnez le dossier « main » -> new -> Gui File -> PfGettingStarted.gui.
- main/PfGettingStarted.gui_script
- Sélectionnez le dossier « main » -> new -> Gui Script File -> PfGettingStarted.gui_script.
-
Raccordez notre nouvelle interface graphique dans main.collection.
- Sélectionnez main.collection pour l’ouvrir.
-
Dans le panneau Outline :
- Sélectionnez Add Game Object (vous pouvez éventuellement le renommer en PfGui).
- Sélectionnez le nouvel objet, puis Add Component From File…
- PfGettingStarted.gui (créé ci-dessus).
- Sélectionnez le nouvel objet, puis Add Component From File…
- Sélectionnez Add Game Object (vous pouvez éventuellement le renommer en PfGui).
-
Le panneau Outline affichant main.collection devrait ressembler à l’exemple ci-dessous.

Configurer votre premier appel d’API
Ce guide présente les étapes minimales nécessaires pour effectuer votre premier appel d’API PlayFab. La confirmation sera visible dans la fenêtre du jeu.- Dans l’éditeur Defold, double-cliquez sur PfGettingStarted.gui_script.
- Le fichier devrait s’ouvrir pour l’édition de texte.
- Mettez à jour le contenu de PfGettingStarted.gui_script comme indiqué ci-dessous.
Pour connaître le format correct de l’objet loginRequest de cet exemple, consultez la référence de l’API pour LoginWithCustomID.
-
Dans l’éditeur Defold, cliquez avec le bouton droit sur PfGettingStarted.gui -> Open With -> Text Editor. Malheureusement, cela modifie un paramètre interne de Defold, donc :
- Rouvrez-le : cliquez avec le bouton droit sur PfGettingStarted.gui -> Open With -> GUI Editor. Cela rétablit le comportement par défaut.
- Sélectionnez l’onglet d’édition de texte de PfGettingStarted.gui.
- Mettez à jour le contenu texte de PfGettingStarted.gui comme indiqué ci-dessous.
Terminer et exécuter
Tout d’abord, assurez-vous que tout est enregistré et sélectionnez un autre onglet. Recherchez ensuite les marqueurs « * » : il arrive que Defold ne s’actualise pas. Ensuite, générez votre jeu (Ctrl+b ou au moyen des menus : Project -> Build and Launch). Le texte suivant devrait s’afficher à l’écran : “Congratulations, you made your first successful API call!” Pour obtenir la liste de tous les appels d’API client disponibles, consultez notre documentation Références de l’API PlayFab. Bon codage!Analyse du code
-
PfGettingStarted.gui- Nos instructions pour
PfGettingStarted.guivisent la rapidité, pas l’apprentissage. Ce fichier est une définition d’interface graphique qui ajoute une zone de texte à l’écran et la lie à notre autre script :PfGettingStarted.gui_script. En règle générale, vous ne modifiez PAS ces fichiers sous forme de texte. - Pour obtenir des instructions appropriées sur la création de widgets d’interface graphique Defold, consultez ce guide :
- Scènes GUI dans Defold
- Nos instructions pour
-
PfGettingStarted.gui_script-
Instructions require et configuration.
PlayFabClientApivous permet d’effectuer des appels à l’API Client; c’est la raison de votre présence ici.- IPlayFabHttps et PlayFabHttps_Defold :
- Les plug-ins PlayFab pour Defold reposent sur le LuaSdk de PlayFab. Le langage Lua ne dispose pas d’un véritable module HTTPS. Chaque moteur de jeu qui utilise Lua implémente le sien. Ces deux variables indiquent à PlayFabSdk comment accéder à HTTPS. Vous n’avez besoin de le faire qu’une seule fois dans votre projet, dans la première scène. Sinon, il s’agit d’un code réutilisable obligatoire.
-
PlayFabClientApi.settings.titleId = "144"- Chaque projet utilisant PlayFab doit créer un titre unique sur le site web de PlayFab, que nous appelons Game Manager. Recherchez votre
titleIddans Game Manager et remplacez144par votretitleId.
- Chaque projet utilisant PlayFab doit créer un titre unique sur le site web de PlayFab, que nous appelons Game Manager. Recherchez votre
-
function init(self)- Fonction Defold : elle est appelée lors de l’initialisation de l’interface graphique.
-
local loginRequest = { TitleId = PlayFabClientApi.settings.titleId, CustomId = "GettingStartedGuide", CreateAccount = true }- La plupart des méthodes de l’API PlayFab nécessitent des paramètres d’entrée, et ces paramètres d’entrée sont regroupés dans un objet de requête
- Chaque méthode d’API nécessite un objet de requête unique, avec un mélange de paramètres facultatifs et obligatoires
- Pour
LoginWithCustomIDRequest, il existe un paramètre obligatoireCustomId, qui identifie un joueur de manière unique, etCreateAccount, qui permet de créer un nouveau compte avec cet appel.
- Pour
- Pour la connexion, la plupart des développeurs voudront utiliser une méthode de connexion plus appropriée
- Consultez la documentation sur la connexion PlayFab pour obtenir la liste de toutes les méthodes de connexion et de leurs paramètres d’entrée. Les choix courants sont :
-
PlayFabClientApi.LoginWithCustomID(loginRequest, OnLoginSuccess, OnLoginFailed)- Effectue l’appel d’API à l’aide de la requête et fournit des fonctions de rappel pour les cas de réussite et d’échec.
-
function OnLoginSuccess(result)- L’objet result de nombreux rappels de réussite d’API contient les informations demandées.
LoginResultcontient des informations de base sur le joueur, mais pour la plupart des utilisateurs, la connexion est simplement une étape obligatoire avant d’appeler d’autres API.
-
function OnLoginFailed(error)- Les appels d’API peuvent échouer pour de nombreuses raisons, et vous devez toujours essayer de gérer les échecs.
-
Raisons pour lesquelles les appels d’API échouent (par ordre de probabilité)
- PlayFabSettings.TitleId n’est pas défini. Si vous oubliez de définir titleId sur votre titre, rien ne fonctionnera.
-
Paramètres de la requête. Si vous n’avez pas fourni les informations correctes ou requises pour un appel d’API particulier, celui-ci échouera. Consultez
error.errorMessage,error.errorDetailsouerror.GenerateErrorReport()pour plus d’informations. - Problème de connectivité de l’appareil. Les téléphones portables perdent et retrouvent constamment la connectivité. Ainsi, n’importe quel appel d’API peut échouer de manière aléatoire à tout moment, puis fonctionner immédiatement après. Entrer dans un tunnel peut vous déconnecter complètement.
- Problème de serveur PlayFab. Comme pour tout logiciel, des problèmes peuvent survenir. Consultez nos notes de publication pour connaître les mises à jour.
- Internet n’est pas fiable à 100 %. Parfois, le message est corrompu ou n’atteint pas le serveur PlayFab.
- Si vous avez des difficultés à déboguer un problème et que les informations d’erreur ne suffisent pas, rendez-vous sur nos forums
-
local pfTestOutput = gui.get_node("pfOutput")- Il s’agit d’une autre fonction GUI de Defold. Elle récupère l’objet GUI
pfOutputdéfini dans notre fichier PfGettingStarted.gui et lui attribue le texte à afficher à l’utilisateur.
- Il s’agit d’une autre fonction GUI de Defold. Elle récupère l’objet GUI
-
Instructions require et configuration.
