> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Démarrage rapide Lua pour Corona

> Configurez un projet Corona sur Windows ou Mac et effectuez votre premier appel d'API PlayFab en Lua à l'aide de la bibliothèque cliente du SDK PlayFab pour Corona.

Ce démarrage rapide vous aide à effectuer votre premier appel d'API PlayFab dans le moteur Corona.

Avant de pouvoir appeler une API PlayFab, vous devez disposer d'un [compte de développeur PlayFab](https://developer.playfab.com).

## Configuration du projet Corona

Système d'exploitation : ce démarrage rapide est rédigé pour Windows. Toutefois, il devrait également fonctionner correctement sur Mac.

1. Téléchargez et installez Corona :  [https://coronalabs.com/](https://coronalabs.com/).

2. Exécutez Corona et créez un nouveau projet. Le lien suivant contient des informations qui peuvent vous aider lors de vos premières étapes si vous ne les avez pas encore effectuées :  [https://docs.coronalabs.com/guide/start/installWin/index.html](https://docs.coronalabs.com/guide/start/installWin/index.html)

3. Une fois que vous avez installé Corona, que vous vous êtes connecté et que vous avez créé un nouveau projet, plusieurs fenêtres semblables à l'exemple ci-dessous devraient s'afficher.

   <img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/sdks/lua/new-project.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=bdbfa4a84974159ffd7b4b0641f540cb" alt="Installer le SDK PlayFab" width="1447" height="926" data-path="images/playfab/sdks/lua/new-project.png" />

4. Activez le plug-in PlayFab Client sur le Corona Marketplace :

   [https://marketplace.coronalabs.com/plugin/playfab-client](https://marketplace.coronalabs.com/plugin/playfab-client)

5. L'installation de PlayFab est terminée!

## Configuration de votre premier appel d'API

Ce guide présente les étapes minimales nécessaires pour effectuer votre premier appel d'API PlayFab. La confirmation est visible dans le journal de sortie du moteur Corona.

Dans votre éditeur de texte préféré, *ajoutez* les lignes suivantes à `build.settings`.

```lua theme={null}
settings =
{
    -- ADD THESE THREE LINES at the top, leave everything else as-is
    plugins = {
        ["plugin.playfab.client"] = { publisherId = "com.playfab" }
    },

-- Other existing lines...
}
```

<Note>
  Pour connaître le format correct de l'objet loginRequest dans cet exemple, consultez la référence d'API de [LoginWithCustomID](xref:titleid.playfabapi.com.client.authentication.loginwithcustomid).
</Note>

Dans votre éditeur de texte préféré, *remplacez* le contenu du fichier **main.lua** par le contenu ci-dessous.

```lua theme={null}
local pfClient = require("plugin.playfab.client")
local PlayFabClientApi = pfClient.PlayFabClientApi
PlayFabClientApi.settings.titleId = "144"

local loginRequest = {
    -- See the API reference for LoginWithCustomID.
    CustomId = "GettingStartedGuide",
    CreateAccount = true
}
PlayFabClientApi.LoginWithCustomID(loginRequest,
    function(result) print("Congratulations, you made your first successful API call!") end,
    function(error) print("Something went wrong with your first API call.\nHere's some debug information:\n" .. error.errorMessage) end
)
```

## Finalisation et exécution

Corona exécute automatiquement la source du projet dès que vous enregistrez. Ainsi, dès que vous mettez à jour et enregistrez ces deux fichiers, vous devriez voir ceci :

<img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/sdks/lua/finish-and-execute.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=59fd602abd813dbde3966cc4373877bf" alt="Télécharger le plug-in Corona - Finalisation et exécution" width="1182" height="974" data-path="images/playfab/sdks/lua/finish-and-execute.png" />

À ce stade, vous pouvez commencer à effectuer d'autres appels d'API et à créer votre jeu. Pour obtenir la liste de tous les appels d'API client disponibles, consultez notre documentation [Références d'API PlayFab](/fr-CA/services/playfab/api-references).

Bon codage!

## Analyse du code

Cette dernière section facultative décrit chaque partie de l'exemple ci-dessus, ligne par ligne.

* build.settings
  * `plugins = {`
    * Cette ligne invoque le système de plug-ins de Corona et lui indique de télécharger et d'installer des plug-ins du Corona Marketplace dans votre projet.
  * `["plugin.playfab.client"] = { publisherId = "com.playfab" }`
    * Cette ligne lui indique de télécharger spécifiquement le plug-in PlayFab Client.
* main.lua
  * Lignes require() :
    * Il s'agit des importations minimales nécessaires pour effectuer des appels d'API PlayFab.
  * `PlayFabClientApi.settings.titleId = "xxxx"`
    * Chaque développeur PlayFab crée un titre dans Game Manager. Lorsque vous publiez votre jeu, vous devez coder ce titleId dans votre jeu. Cela permet au client de savoir comment accéder aux bonnes données dans PlayFab. Pour la plupart des utilisateurs, il suffit de le considérer comme une étape obligatoire au fonctionnement de PlayFab.
  * `local loginRequest = { CustomId = "GettingStartedGuide", CreateAccount = true }`
    * La plupart des méthodes d'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 obligatoire `CustomId`, qui identifie un joueur de manière unique, ainsi que `CreateAccount`, qui permet de créer un nouveau compte avec cet appel.
  * `PlayFabClientApi.LoginWithCustomID(loginRequest, {OnLoginSuccess-function}, {OnLoginError-function})`
    * Cette ligne lance la requête asynchrone vers `LoginWithCustomID`, qui appelle le premier rappel (`OnLoginSuccess`) en cas de réussite, ou la seconde fonction (`OnLoginError`) en cas d'échec.
  * 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](xref:titleid.playfabapi.com.client.authentication) pour obtenir la liste de toutes les méthodes de connexion et de leurs paramètres d'entrée. Les choix courants sont :
      * [LoginWithAndroidDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithandroiddeviceid)
      * [LoginWithIOSDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithiosdeviceid)
      * [LoginWithEmailAddress](xref:titleid.playfabapi.com.client.authentication.loginwithemailaddress)
    * `OnLoginSuccess` est n'importe quelle fonction acceptant un seul paramètre (result).
      * L'objet result contient les informations demandées, selon l'API appelée.
      * `LoginResult` contient des informations de base sur le joueur, mais pour la plupart des utilisateurs, la connexion n'est qu'une étape obligatoire avant d'appeler d'autres API.
    * `OnLoginError` est n'importe quelle fonction acceptant un seul paramètre (error).
      * Les appels d'API peuvent échouer pour de nombreuses raisons, et vous devez toujours essayer de gérer les échecs.
      * Raisons de l'échec des appels d'API (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 requête. Si vous n'avez pas fourni les informations correctes ou requises pour un appel d'API donné, celui-ci échouera. Consultez `error.errorMessage`, `error.errorDetails` ou `error.GenerateErrorReport()` pour plus d'informations.
        * Problème de connectivité de l'appareil. Les téléphones mobiles perdent et retrouvent constamment la connectivité; tout appel d'API peut donc é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](/fr-CA/services/playfab/release-notes) 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 contenues dans l'erreur ne suffisent pas, rendez-vous sur nos [forums](https://community.playfab.com/index.html).


## Related topics

- [Démarrage rapide Lua pour Defold](/fr-CA/services/playfab/sdks/lua/quickstart-defold.md)
- [Démarrage rapide C++ pour Linux](/fr-CA/services/playfab/sdks/playfab-cpp/quickstart-linux.md)
- [Démarrage rapide Unity](/fr-CA/services/playfab/sdks/unity3d/quickstart.md)
- [Démarrage rapide C++ pour Windows](/fr-CA/services/playfab/sdks/playfab-cpp/quickstart-windows.md)
- [Démarrage rapide Unreal Engine](/fr-CA/services/playfab/sdks/unreal/quickstart.md)
