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

# Início rápido de estatísticas

> O início rápido de estatísticas do PlayFab mostra como definir uma estatística, gravar valores de jogadores e ler os resultados usando o SDK para iniciar o acompanhamento da progressão.

# Início rápido de estatísticas

Neste guia, veremos como configurar o ambiente de desenvolvimento para o serviço de estatísticas. Também vamos
aprender a criar um placar rápido no nosso site [Game Manager](https://developer.playfab.com).

## Pré-requisitos

Vamos precisar de uma conta do PlayFab para usar o serviço PlayFab Statistics. Para obter instruções sobre como criar uma conta,
consulte [Autenticação](https://docs.xbox.com/pt-BR/services/playfab/identity/dev-identity/authentication/aad-authentication.md).

## Criando uma estatística

Vamos selecionar Progression no menu à esquerda.

![Menu principal das estatísticas do PlayFab](https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/statistics/game-manager-main-menu.png?fit=max\&auto=format\&n=N3T1ucKV7zIMBudj\&q=85\&s=f8afb627f579da6ba1f9677d3296a3ee)

Agora, selecionamos a guia Statistics no menu superior.

![Adicionar estatística no PlayFab Statistics](https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/statistics/statistic-menu.png?fit=max\&auto=format\&n=N3T1ucKV7zIMBudj\&q=85\&s=78393c583a8ff1afaf920b9bde60eaa7)

Depois disso, vamos usar o botão "New Statistic" e criar nossa definição de estatística.

![Uso do PlayFab Statistics](https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/statistics/new-statistic.png?fit=max\&auto=format\&n=N3T1ucKV7zIMBudj\&q=85\&s=16b828e676d1bede541bcb9331dbe133)

Aqui, podemos configurar todos os aspectos da estatística. Saiba mais sobre os parâmetros disponíveis e
como criar estatísticas aqui:

* [Criar um placar básico](https://docs.xbox.com/pt-BR/services/playfab/player-progression/statistics/create-basic-statistics.md).
* [Referência de API](https://docs.xbox.com/pt-BR/services/playfab/player-progression/statistics/api-reference.md)

O resultado final deve ser semelhante a este.

![Resultado final do PlayFab Statistics](https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/statistics/stat-result.png?fit=max\&auto=format\&n=N3T1ucKV7zIMBudj\&q=85\&s=1c145637328915af6a2a81ef56ecccd8)

## Configurando o ambiente

Aqui, vamos aprender a configurar o ambiente de desenvolvimento para usar o SDK do C#, mas os conceitos
apresentados aqui também podem funcionar com outros SDKs ou com solicitações HTTP simples.

## Definindo TitleId e DeveloperSecretKey

DeveloperSecretKey é necessário ao autenticar como entidade de título.

```C# theme={null}
PlayFabSettings.staticSettings.TitleId = ""; // Change this value to your own titleId from PlayFab Game Manager
PlayFabSettings.staticSettings.DeveloperSecretKey = ""; // Change this to your title's secret key from Game Manager
```

## Criando um título e obtendo a chave secreta

* Faça logon em [https://developer.playfab.com/](https://developer.playfab.com/)
* Crie um título
  * Encontre a ID do título na seção API Features, nas configurações.
* Gere a chave secreta:
  * Engrenagem ao lado do nome do título, no canto superior esquerdo da exibição do título
  * Title Settings
  * Secret Keys
  * New secret key

Veja como fica a interface do usuário quando você encontra a seção Secret Key no Game Manager.

![Chaves do PlayFab Statistics](https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/statistics/secret-keys.png?fit=max\&auto=format\&n=N3T1ucKV7zIMBudj\&q=85\&s=864e20d34e00d5eb96b9a392c7cc8e0b)

## Login como título

Para operações de gravação, recomendamos usar a TitleEntity a partir do seu servidor de jogo; este método retornará o `AuthenticationContext` que
será usado em todas as solicitações que fizermos.

```C# theme={null}
public static async Task<PlayFabAuthenticationContext> LoginAsTitleEntity()
{
    GetEntityTokenRequest request = new GetEntityTokenRequest()
    {
        Entity = new PlayFab.AuthenticationModels.EntityKey()
        {
            Id = PlayFabSettings.staticSettings.TitleId,
            Type = "title",
        },                
    };

    PlayFabResult<GetEntityTokenResponse> entityTokenResult = await PlayFabAuthenticationAPI.GetEntityTokenAsync(request);

    PlayFabAuthenticationContext authContext = new PlayFabAuthenticationContext
    {
        EntityToken = entityTokenResult.Result.EntityToken
    };
    
    return authContext;
}
```

## Login como jogador (criar jogador)

Faça login como jogador para operações de leitura diretamente nas APIs do PlayFab. Este método retornará o `AuthenticationContext` que
será usado em todas as solicitações que fizermos.

```C# theme={null}
private static async Task<PlayFabAuthenticationContext> LoginAsPlayer(string customId = "GettingStartedGuide")
{
    LoginWithCustomIDRequest request = new LoginWithCustomIDRequest { CustomId = customId, CreateAccount = true };

    PlayFabResult<LoginResult> loginResult = await PlayFabClientAPI.LoginWithCustomIDAsync(request);

    return loginResult.Result.AuthenticationContext;
}

```

## Definir a propriedade de nome de exibição de uma entidade

Para que a propriedade `DisplayName` fique disponível como parte da resposta das APIs Get Statistics,
precisamos executar o código a seguir para cada entidade que criamos. Esse processo mapeará a entidade para o nome de exibição
personalizado do jogo.

```C# theme={null}
private static async Task UpdateEntityDisplayName(PlayFabAuthenticationContext context, string customId)
{
    SetDisplayNameRequest request = new SetDisplayNameRequest()
    {
        AuthenticationContext = context,
        DisplayName = customId,
        Entity = new PlayFab.ProfilesModels.EntityKey()
        {
            Id = context.EntityId,
            Type = context.EntityType,
        },
    };

    PlayFabResult<SetDisplayNameResponse> updateNameResult = await PlayFabProfilesAPI.SetDisplayNameAsync(request);

}
```

## Confira também

* [Criar estatísticas básicas](https://docs.xbox.com/pt-BR/services/playfab/player-progression/statistics/create-basic-statistics.md).
* [Fazendo mais com estatísticas](https://docs.xbox.com/pt-BR/services/playfab/player-progression/statistics/doing-more-statistics.md).
* [Estatísticas sazonais](https://docs.xbox.com/pt-BR/services/playfab/player-progression/statistics/seasonal-statistics.md).
* [Adicionar dados contextuais às estatísticas](https://docs.xbox.com/pt-BR/services/playfab/player-progression/statistics/metadata-statistics.md).
* [Gravações transacionais](https://docs.xbox.com/pt-BR/services/playfab/player-progression/statistics/transactional-writes.md)
* [Referência de API](https://docs.xbox.com/pt-BR/services/playfab/player-progression/statistics/api-reference.md).
* [Limites](https://docs.xbox.com/pt-BR/services/playfab/player-progression/statistics/limits-statistics.md).
* [Cota](https://docs.xbox.com/pt-BR/services/playfab/player-progression/statistics/quota-statistics.md)
* [Medidores de estatísticas](https://docs.xbox.com/pt-BR/services/playfab/pricing/meters/statistics-meters.md).


## Related topics

- [Visão geral das estatísticas do PlayFab](https://docs.xbox.com/pt-BR/services/playfab/player-progression/statistics/index.md)
- [Documentação de progressão do jogador do PlayFab](https://docs.xbox.com/pt-BR/services/playfab/player-progression/index.md)
- [Início rápido de torneios e placares](https://docs.xbox.com/pt-BR/services/playfab/community/leaderboards/tournaments-leaderboards/quickstart.md)
- [Início rápido de Ações e Regras](https://docs.xbox.com/pt-BR/services/playfab/data-analytics/acting-data/action-rules-quickstart.md)
- [Início rápido de notificações por push](https://docs.xbox.com/pt-BR/services/playfab/live-service-management/game-configuration/title-communications/push-notifications/quickstart.md)
