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

# 统计数据快速入门

> PlayFab 统计数据快速入门演示如何定义统计数据、写入玩家值以及使用 SDK 读取结果，以引导进程跟踪。

# 统计数据快速入门

在本指南中，我们将了解如何为统计数据服务设置开发环境。我们还将学习如何从我们的网站 [Game Manager](https://developer.playfab.com) 快速创建排行榜。

## 先决条件

我们需要一个 PlayFab 账户才能使用 PlayFab 统计数据服务。有关创建账户的说明，请参阅[身份验证](/services/playfab/identity/dev-identity/authentication/aad-authentication)。

## 创建统计数据

我们将在左侧菜单上选择 Progression。

<img src="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" alt="PlayFab 统计数据主菜单" width="1280" height="900" data-path="images/playfab/player-progression/statistics/game-manager-main-menu.png" />

现在，我们从上方菜单选择 Statistics 选项卡。

<img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/statistics/statistic-menu.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=78393c583a8ff1afaf920b9bde60eaa7" alt="PlayFab 统计数据添加统计数据" width="1280" height="900" data-path="images/playfab/player-progression/statistics/statistic-menu.png" />

之后，我们将转到 "New Statistic" 按钮并创建我们的统计数据定义。

<img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/statistics/new-statistic.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=16b828e676d1bede541bcb9331dbe133" alt="PlayFab 统计数据使用" width="1239" height="888" data-path="images/playfab/player-progression/statistics/new-statistic.png" />

在这里，我们能够配置统计数据的各个方面。在此处了解有关可用参数以及如何创建统计数据的更多信息：

* [创建基本排行榜](/services/playfab/player-progression/statistics/create-basic-statistics)。
* [API 参考](/services/playfab/player-progression/statistics/api-reference)

最终结果应该如下所示。

<img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/statistics/stat-result.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=1c145637328915af6a2a81ef56ecccd8" alt="PlayFab 统计数据最终结果" width="1872" height="822" data-path="images/playfab/player-progression/statistics/stat-result.png" />

## 设置环境

在此我们将学习如何设置开发者环境以使用 C# SDK，但这里介绍的概念也可以适用于其他 SDK 或普通 HTTP 请求。

## 设置 TitleId 和 DeveloperSecretKey

以标题实体身份进行身份验证时需要 DeveloperSecretKey。

```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
```

## 创建游戏并获取密钥

* 登录到 [https://developer.playfab.com/](https://developer.playfab.com/)
* 创建一个游戏
  * 在设置下的 API Features 部分中找到 Title ID。
* 生成密钥：
  * 游戏视图左上角游戏名称旁边的齿轮
  * 游戏设置
  * 密钥
  * 新密钥

以下是在 Game Manager 中找到密钥部分时 UI 的样子。

<img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/statistics/secret-keys.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=864e20d34e00d5eb96b9a392c7cc8e0b" alt="PlayFab 统计数据密钥" width="2541" height="1152" data-path="images/playfab/player-progression/statistics/secret-keys.png" />

## 以游戏身份登录

对于写入操作，我们建议从您的游戏服务器使用 TitleEntity，此方法将返回 `AuthenticationContext`，它将用于我们发出的所有请求中。

```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;
}
```

## 以玩家身份登录（创建玩家）

以玩家身份登录以直接对 PlayFab API 执行读取操作。此方法将返回 `AuthenticationContext`，它将用于我们发出的所有请求。

```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;
}

```

## 为实体设置显示名称属性

为了将 `DisplayName` 属性作为 Get Statistics API 响应的一部分，我们需要为我们创建的每个实体执行以下代码。此过程会将实体映射到游戏的自定义显示名称。

```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);

}
```

## 另请参阅

* [创建基本统计数据](/services/playfab/player-progression/statistics/create-basic-statistics)。
* [使用统计数据做更多](/services/playfab/player-progression/statistics/doing-more-statistics)。
* [季节性统计数据](/services/playfab/player-progression/statistics/seasonal-statistics)。
* [向统计数据添加上下文数据](/services/playfab/player-progression/statistics/metadata-statistics)。
* [事务性写入](/services/playfab/player-progression/statistics/transactional-writes)
* [API 参考](/services/playfab/player-progression/statistics/api-reference)。
* [限制](/services/playfab/player-progression/statistics/limits-statistics)。
* [配额](/services/playfab/player-progression/statistics/quota-statistics)
* [统计数据计量](/services/playfab/pricing/meters/statistics-meters)。


## Related topics

- [PlayFab 玩家进程文档](/zh-CN/services/playfab/player-progression/index.md)
- [创建基本统计数据](/zh-CN/services/playfab/player-progression/statistics/create-basic-statistics.md)
- [玩家数据快速入门](/zh-CN/services/playfab/player-progression/player-data/quickstart.md)
- [数据连接快速入门](/zh-CN/services/playfab/data-analytics/export-data/data-connection-quickstart.md)
- [Title Data 快速入门](/zh-CN/services/playfab/live-service-management/game-configuration/titledata/quickstart.md)
