> ## 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.

# Inicio rápido de datos del jugador

> El inicio rápido de datos del jugador de PlayFab muestra paso a paso cómo crear, leer y actualizar campos personalizados de clave-valor del jugador desde los SDK de cliente y servidor.

# Inicio rápido: Establecer y obtener datos del jugador

<Note>
  En las API de PlayFab, los nombres de las funciones utilizan el término **UserData**. En **Game Manager**, este concepto se describe como **Player Data**. Son idénticos e intercambiables.
</Note>

Empiece a usar los datos del jugador de PlayFab. Este inicio rápido le muestra cómo establecer y recuperar datos del jugador usando C# en Unity y usando CloudScript de PlayFab.

Los datos del jugador son información que se aplica a un jugador individual o a un grupo de jugadores (datos compartidos) y que PlayFab almacena como pares clave-valor (KVP). Este artículo cubre las llamadas de API de cliente, que se pueden llamar de forma segura desde cualquier proceso o contexto. También cubre las llamadas de API de servidor, que *solo* deben realizarse desde un proceso de servidor dedicado que usted controle, o desde una llamada de CloudScript cuidadosamente protegida. Las API de servidor requieren su clave secreta de desarrollador. La clave no debe proporcionarse al cliente ni publicarse con él.

## Requisitos

* Una [cuenta de desarrollador de PlayFab](https://developer.playfab.com).
* Una copia instalada del editor de Unity. Para instalar Unity para uso personal a través de Unity Hub, o Unity+ para uso profesional, consulte [Descargar Unity](https://unity3d.com/get-unity/download).

<Note>
  El SDK de Unity3D de PlayFab es compatible con la versión 5.3 del editor de Unity (publicada en diciembre de 2015) y posteriores.
</Note>

* Un proyecto de Unity puede ser:
  * Un proyecto totalmente nuevo. Para obtener más información, consulte [Iniciar Unity por primera vez](https://docs.unity3d.com/550/Documentation/Manual/GettingStarted.html).
  * Un proyecto de tutorial guiado. Para obtener más información, consulte [Introducción a Unity](https://learn.unity.com/).
  * Un proyecto existente.
* El SDK de Unity3D de PlayFab.

Para obtener información sobre la configuración del SDK de Unity3D de PlayFab, consulte el artículo [Inicio rápido: Biblioteca de cliente de PlayFab para C# en Unity](/services/playfab/sdks/unity3d/quickstart). Este artículo garantiza que tenga una cuenta de PlayFab y que haya configurado correctamente el SDK de Unity3D.

## Acerca de los ejemplos de código

Los ejemplos de C# de este artículo están escritos para el SDK de Unity. El SDK de Unity usa un modelo controlado por eventos para gestionar las tareas no sincrónicas. Para ejecutar el código de ejemplo con el SDK de C#, debe modificar el código para usar un modelo de tareas asíncronas (async Task). Los métodos que deben modificarse llevan Async anexado al nombre del método en la firma. Por ejemplo, SetObject en el SDK de Unity se convierte en SetObjectAsync en el SDK de C#. Para obtener más información, consulte [Programación asincrónica con async y await](https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/).

Aunque puede usar un proyecto de Unity existente, este inicio rápido asume que está usando el ejemplo creado al completar el [Inicio rápido: Biblioteca de cliente de PlayFab para C# en Unity](/services/playfab/sdks/unity3d/quickstart).

## Datos del jugador en Game Manager

Siempre puede obtener y establecer los datos del jugador a través de Game Manager realizando los pasos siguientes.

* Abra **Game Manager**. Si no está familiarizado con él, consulte el [inicio rápido de Game Manager](/services/playfab/live-service-management/gamemanager/quickstart).
* Seleccione la pestaña **Players**.
* Seleccione el nombre del **jugador** para acceder a la pestaña **Players Account**.
* Seleccione la pestaña **Player Data** para ver sus datos.

## Agregar un método para establecer los datos del jugador y recuperar los datos del jugador

1. En el editor de Unity, abra su proyecto de ejemplo.

2. En la ventana **Project**, abra **Assets** > **Scripts** y, a continuación, abra el script PlayFabLogin.

3. En Visual Studio, agregue lo siguiente a la instrucción using:

   `using System.Collections.Generic;`

4. Para establecer los datos del jugador, agregue un método `SetUserData` a la clase `PlayFabLogin`. `SetUserData` usa el método [UpdateUserData](xref:titleid.playfabapi.com.client.playerdatamanagement.updateuserdata) para crear o actualizar los datos del jugador que ha iniciado sesión.

   El método crea (o actualiza, si los pares clave-valor (KVP) ya existen) los KVP `Ancestor` con el valor `Arthur` y `Successor` con el valor `Fred`.

   ```csharp theme={null}
   void SetUserData() {
       PlayFabClientAPI.UpdateUserData(new UpdateUserDataRequest() {
           Data = new Dictionary<string, string>() {
               {"Ancestor", "Arthur"},
               {"Successor", "Fred"}
           }
       },
       result => Debug.Log("Successfully updated user data"),
       error => {
           Debug.Log("Got error setting user data Ancestor to Arthur");
           Debug.Log(error.GenerateErrorReport());
       });
   }
   ```

5. Para obtener los datos del jugador, agregue un método `GetUserData` a la clase `PlayFabLogin`. `SetUserData` usa el método [GetUserData](xref:titleid.playfabapi.com.client.playerdatamanagement.getuserdata) para recuperar los datos del jugador especificado.

   ```csharp theme={null}
   void GetUserData(string myPlayFabId) {
       PlayFabClientAPI.GetUserData(new GetUserDataRequest() {
           PlayFabId = myPlayFabId,
           Keys = null
       }, result => {
           Debug.Log("Got user data:");
           if (result.Data == null || !result.Data.ContainsKey("Ancestor")) Debug.Log("No Ancestor");
           else Debug.Log("Ancestor: "+result.Data["Ancestor"].Value);
       }, (error) => {
           Debug.Log("Got error retrieving user data:");
           Debug.Log(error.GenerateErrorReport());
       });
   }
   ```

6. Llame a `SetUserData` y `GetUserData` en el método `OnLoginSuccess`.

   ```csharp theme={null}
   private void OnLoginSuccess(LoginResult result) {
       Debug.Log("Congratulations, you made your first successful API call!");
       SetUserData();
       GetUserData(result.PlayFabId);
   }
   ```

7. Guarde el archivo.

## Ejecución del ejemplo

En el editor de Unity, seleccione el botón de reproducción. Si todo va bien, los resultados de las llamadas se muestran en la ventana de la consola.

## Consulte también

* [Cómo establecer datos internos del jugador](/services/playfab/player-progression/player-data/how-to-set-internal-player-data)
* [Cómo obtener datos internos del jugador](/services/playfab/player-progression/player-data/how-to-get-internal-player-data)
* [Cómo establecer datos de solo lectura del jugador](/services/playfab/player-progression/player-data/how-to-set-read-only-player-data)
* [Cómo obtener datos de solo lectura del jugador](/services/playfab/player-progression/player-data/how-to-get-read-only-player-data)
* [Cómo modificar datos de solo lectura o internos del jugador desde CloudScript](/services/playfab/player-progression/player-data/how-to-modify-read-only-internal-player-data)
* [Inicio rápido de datos del título](/services/playfab/live-service-management/game-configuration/titledata/quickstart)
* [Uso de datos del publicador](/services/playfab/live-service-management/game-configuration/titledata/using-publisher-data)
* [Inicio rápido de CloudScript](/services/playfab/live-service-management/service-gateway/automation/cloudscript/quickstart)


## Related topics

- [Inicio rápido de datos del título](/es/services/playfab/live-service-management/game-configuration/titledata/quickstart.md)
- [Inicio rápido del Explorador de datos](/es/services/playfab/data-analytics/learn-data/data-explorer/quickstart.md)
- [Guía de inicio rápido del inventario del jugador](/es/services/playfab/economy-monetization/economy-v2/inventory/quickstart.md)
- [Modificar datos de solo lectura o internos del jugador mediante CloudScript](/es/services/playfab/player-progression/player-data/how-to-modify-read-only-internal-player-data.md)
- [Inicio rápido de propiedades personalizadas de jugador](/es/services/playfab/live-service-management/game-configuration/segmentation/player-custom-properties-qs.md)
