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

# Uso de estadísticas de jugador

> Aprenda a crear, actualizar y consultar estadísticas de jugador de PlayFab como pares clave-valor, y a configurar los permisos de cliente y servidor en Game Manager.

En este tutorial se describe cómo crear y usar estadísticas de jugador. Las estadísticas de jugador se almacenan como pares clave-valor (KVP), donde la clave es una cadena y el valor es un entero de 32 bits (por compatibilidad con lenguajes que no admiten 64 bits).

Las estadísticas de jugador también las usan las tablas de clasificación, pero esta guía solo trata las estadísticas de jugador en exclusiva. Si desea leer sobre cómo funcionan *juntas* las estadísticas de jugador y las tablas de clasificación, lea nuestro tutorial [Uso de estadísticas y tablas de clasificación restablecibles](/services/playfab/community/leaderboards/tournaments-leaderboards/using-resettable-statistics-and-leaderboards).

<Note>
  En parte de la documentación y en algunas llamadas API, puede encontrar el término **UserStatistics**. A efectos de esta explicación, los términos *usuario* y *jugador* son idénticos e intercambiables. En la página de **Game Manager**, la pestaña **Players** proporciona acceso a los **usuarios/jugadores** de su título y, dentro de ella, a sus estadísticas. Las estadísticas de jugador se refieren específicamente a la información vinculada a un jugador, no a información analítica sobre el jugador.
</Note>

## API de cliente

El cliente tiene acceso de lectura a las estadísticas de jugador, pero para evitar las trampas, el cliente no puede actualizar las estadísticas de forma predeterminada.

Para habilitarlo:

* [Inicie sesión en PlayFab](https://developer.playfab.com/en-us/my-games)
* Seleccione su **título**.
* Seleccione **Settings** en el menú de la izquierda.
* Seleccione la pestaña **API Features**.
* Busque y active **Allow client to post player statistics**.

<Note>
  Hacer esto deshabilita una capa de seguridad para su título, lo que permite a los jugadores publicar puntuaciones arbitrarias en todas sus estadísticas. Si su juego tiene *algún* aspecto de juego competitivo, le recomendamos que *nunca* publique estadísticas desde el cliente.
</Note>

## Las estadísticas son información pública

No hay estadísticas privadas ni exclusivas del servidor. Un jugador siempre puede leer todas sus propias estadísticas mediante [GetPlayerStatistics](xref:titleid.playfabapi.com.client.playerdatamanagement.getplayerstatistics) y puede leer las estadísticas de todos los demás jugadores mediante las llamadas API de tablas de clasificación. Esto es cierto incluso si *no* muestra una estadística en el juego ni usa tablas de clasificación.

La única excepción a esto sería si deshabilita las características de cliente mediante nuestra [directiva de acceso a API](/services/playfab/api-references/api-access-policy). Consulte ese vínculo para obtener más información sobre cómo usar la configuración de directivas para los títulos, ya que es un tema avanzado que no se trata en este tutorial.

## Establecimiento de estadísticas

El código de Unity/C# siguiente crea (o actualiza, si ya existe) un valor de *estadística de fuerza* para un jugador.

```csharp theme={null}
PlayFabClientAPI.UpdatePlayerStatistics( new UpdatePlayerStatisticsRequest {
    // request.Statistics is a list, so multiple StatisticUpdate objects can be defined if required.
    Statistics = new List<StatisticUpdate> {
        new StatisticUpdate { StatisticName = "strength", Value = 18 },
    }
},
result => { Debug.Log("User statistics updated"); },
error => { Debug.LogError(error.GenerateErrorReport()); });
```

## Obtención de estadísticas

El código de Unity/C# siguiente recupera todos los valores de estadísticas actuales de un jugador.

```csharp theme={null}
void GetStatistics()
{
    PlayFabClientAPI.GetPlayerStatistics(
        new GetPlayerStatisticsRequest(),
        OnGetStatistics,
        error => Debug.LogError(error.GenerateErrorReport())
    );
}

void OnGetStatistics(GetPlayerStatisticsResult result)
{
    Debug.Log("Received the following Statistics:");
    foreach (var eachStat in result.Statistics)
        Debug.Log("Statistic (" + eachStat.StatisticName + "): " + eachStat.Value);
}
```

## Método de agregación

PlayFab admite algunas opciones prácticas para la agregación de estadísticas. Las cuatro opciones son:

* **Last**
* **Min**
* **Max**
* **Sum**

Puede crear una definición de estadística mediante la llamada API [CreatePlayerStatisticDefinition](xref:titleid.playfabapi.com.admin.playerdatamanagement.createplayerstatisticdefinition), aunque no es obligatorio. Cualquier llamada para actualizar una estadística de jugador del título creará *automáticamente* la definición de estadística predeterminada, con el método de agregación Last.

Para cambiar el método de agregación de una estadística, puede usar Game Manager o la llamada API [UpdatePlayerStatisticDefinition](xref:titleid.playfabapi.com.admin.playerdatamanagement.updateplayerstatisticdefinition).

Para editar una definición de estadística en **Game Manager**:

* Inicie sesión en [PlayFab](https://developer.playfab.com/en-us/my-games)

* Seleccione su **título**.

* Seleccione **Leaderboards** en el menú de la izquierda (las **estadísticas** y las **tablas de clasificación** están estrechamente relacionadas).

* Seleccione la estadística existente que quiera modificar, o bien:

* Seleccione el botón **New Leaderboard**.
  * Para una estadística existente, tendrá otra página con un botón **Edit Leaderboard**.

* En este punto debería ver la página que se muestra a continuación.

  <img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/player-data/tutorials/playfab-edit-leaderboard-stat-aggregation.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=5a2df0b42ab1f848705b3bac3b2633d8" alt="Tablas de clasificación de PlayFab - Editar tabla de clasificación - Agregación de estadísticas" width="1280" height="900" data-path="images/playfab/player-progression/player-data/tutorials/playfab-edit-leaderboard-stat-aggregation.png" />

Algunos ejemplos de cómo usar la agregación de estadísticas:

* **Max** y **Min** se pueden usar para guardar las **mejores/peores** puntuaciones, como disparos a la cabeza o precisión:
  * En resumen, aplican la regla de: **si esto es superior (o inferior) a la puntuación existente, actualizar la puntuación**.
  * Publique la estadística al finalizar la sesión y la **agregación Min/Max** se encargará de decidir si se actualiza o no.
  * Pueden resultar muy útiles para las [tablas de clasificación restablecibles](/services/playfab/community/leaderboards/tournaments-leaderboards/using-resettable-statistics-and-leaderboards), así como para una [regla de PlayStream](https://playfab.com/introducing-playstream/) que otorgue logros.

* **Sum** podría usarse para guardar puntos de experiencia:
  * Publica la experiencia obtenida en esta batalla y se suma al valor de estadística existente del jugador.

* **Last** le permite administrar la estadística usted mismo:
  * Cada vez que publica una estadística, se usa el valor más reciente.

## Tablas de clasificación

Se genera una tabla de clasificación para todas las estadísticas guardadas en PlayFab. Acceder a una tabla de clasificación para una estadística específica es opcional.

La frecuencia de restablecimiento y los métodos de agregación desempeñan un papel fundamental en lo dinámicas que son las tablas de clasificación de su juego. La característica de **torneos** se centra en las tablas de clasificación con frecuencias de restablecimiento automáticas y se describe en el tutorial [Uso de estadísticas y tablas de clasificación restablecibles](/services/playfab/community/leaderboards/tournaments-leaderboards/using-resettable-statistics-and-leaderboards).

Le animamos a usar las estadísticas de todas las formas pertinentes para su juego. Puede usar estadísticas restablecibles para organizar torneos diarios y, en paralelo, estadísticas a largo plazo como los puntos de experiencia.


## Related topics

- [Apéndice de presencia enriquecida](/es/services/xbox-services/community/presence/concepts/live-presence-apx.md)
- [Uso de estadísticas y tablas de clasificación restablecibles](/es/services/playfab/community/leaderboards/tournaments-leaderboards/using-resettable-statistics-and-leaderboards.md)
- [Registro para notificaciones de cambio de estadísticas de jugador](/es/services/xbox-services/fundamentals/rta/concepts/live-register-for-stat-notifications.md)
- [Escenarios de estadísticas de usuario](/es/services/xbox-services/player-data/stats-leaderboards/event-based/config/live-user-stats-scenarios.md)
- [Documentación de progresión del jugador de PlayFab](/es/services/playfab/player-progression/index.md)
