> ## 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 del perfil para tablas de clasificación avanzadas

> Configure PlayerProfileViewConstraints de PlayFab para obtener datos de perfil de jugador más completos, como las URL de avatar y los nombres para mostrar, en los resultados de tablas de clasificación y rangos.

Con PlayFab, normalmente se crean tablas de clasificación mediante los métodos de API siguientes:

* [**GetFriendLeaderboard**](xref:titleid.playfabapi.com.client.playerdatamanagement.getfriendleaderboard)
* [**GetFriendLeaderboardAroundPlayer**](xref:titleid.playfabapi.com.client.playerdatamanagement.getfriendleaderboardaroundplayer)
* [**GetLeaderboard**](xref:titleid.playfabapi.com.client.playerdatamanagement.getleaderboard)
* [**GetLeaderboardAroundPlayer**](xref:titleid.playfabapi.com.client.playerdatamanagement.getleaderboardaroundplayer)

El resultado es una lista de objetos [**PlayerLeaderboardEntry**](xref:titleid.playfabapi.com.client.playerdatamanagement.getleaderboard#playerleaderboardentry) que contienen solo información básica sobre el jugador y su relación con la tabla de clasificación actual.

Sin embargo, PlayFab también le permite usar [**PlayerProfileViewConstraints**](xref:titleid.playfabapi.com.server.accountmanagement.getplayerprofile#playerprofileviewconstraints) para obtener información adicional sobre cada jugador.

<Note>
  En este ejemplo se supone que ya tiene algunos datos de tabla de clasificación con los que trabajar. Consulte nuestro tutorial [Acceso a los resultados archivados de torneos](/services/playfab/community/leaderboards/tournaments-leaderboards/accessing-archived-tournament-results) para conocer un método para generar algunos datos de prueba.
</Note>

## Configuración de las restricciones de vista del perfil de jugador

De forma predeterminada, la API de cliente solo puede obtener el nombre para mostrar del perfil de otro jugador. En este ejemplo, permitiremos que *todos* los jugadores accedan a información adicional sobre *otros* jugadores de la tabla de clasificación.

Vaya al Game Manager de su título:

1. Seleccione el icono **Settings** en el menú de la izquierda.
2. Seleccione **Title settings**
3. Después, seleccione la pestaña **Client Profile Options**.
4. Compruebe que **DisplayName** está seleccionado.
5. Asegúrese de que **Avatar URL** está seleccionado.
6. Envíe los cambios seleccionando el botón **Save Client Profile Options**.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-settings-client-profile-options.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=409d43f763c204027beb536fe13930a9" alt="Game Manager - Configuración - Opciones de perfil de cliente" width="1280" height="1100" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-settings-client-profile-options.png" />

## Pruebas

El paso anterior permite que el código de cliente use las restricciones de perfil `DisplayName` y `AvatarUrl`.

El ejemplo siguiente muestra cómo obtener e imprimir una tabla de clasificación usando cualquiera de los datos de perfil mencionados. Consulte los comentarios del código para obtener más información.

```csharp theme={null}
private static async Task DoReadLeaderboard()
{
    // Get Leaderboard Request
    var result = await PlayFabClientAPI.GetLeaderboardAsync(new GetLeaderboardRequest()
    {
        // Specify your statistic name here
        StatisticName = "TestScore",
        // Override Player Profile View Constraints and fetch player DisplayName and AvatarUrl
        ProfileConstraints = new PlayerProfileViewConstraints()
        {
            ShowDisplayName = true,
            ShowAvatarUrl = true
        }
    });

    // Start printing the leaderboard
    Console.WriteLine("=== LEADERBOARD ===");

    if (result.Error != null)
    {
        // Handle error if any
        Console.WriteLine(result.Error.GenerateErrorReport());
    }
    else
    {
        // Traverse the leaderboard list
        foreach (var entry in result.Result.Leaderboard)
        {
            // Print regular leaderboard entry information
            Console.WriteLine($"{entry.Position + 1} {entry.PlayFabId} {entry.StatValue}");

            // Additionally print display name and avatar url that comes from player profile
            Console.WriteLine($"    {entry.Profile.DisplayName} | {entry.Profile.AvatarUrl}");
        }
    }
}
```

<Note>
  Los campos individuales del perfil *solo* están disponibles si el cliente los solicita explícitamente mediante las restricciones de perfil. Tenga en cuenta también que si determinadas restricciones de perfil *no* están permitidas en Game Manager, y su cliente las solicita, la llamada API fallará con el error correspondiente. El resultado tendrá un aspecto similar al del ejemplo siguiente.
</Note>

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/output-display-leaderboard.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=41856980abb06a765ebfbfeecc3e46c1" alt="Salida - Mostrar tabla de clasificación" width="597" height="372" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/output-display-leaderboard.png" />

Con esta técnica, puede obtener bastante información del perfil, incluidos otros valores de estadísticas.


## Related topics

- [Uso de estadísticas y tablas de clasificación restablecibles](/es/services/playfab/community/leaderboards/tournaments-leaderboards/using-resettable-statistics-and-leaderboards.md)
- [Tablas de clasificación](/es/build/steam-porting-guide/features/steam-leaderboards.md)
- [Uso de tablas de premios](/es/services/playfab/community/leaderboards/tournaments-leaderboards/using-prize-tables.md)
- [XR-048 Uso de la configuración del perfil](/es/publishing/certification/xr/xr-048.md)
- [Cómo hacer más con las tablas de clasificación](/es/services/playfab/community/leaderboards/doing-more-with-leaderboards.md)
