快速入门排行榜
在本指南中,我们将了解如何为排行榜服务设置开发环境。 我们还将了解如何从网站 Game Manager 创建快速排行榜。
先决条件
我们需要一个 PlayFab 帐户才能使用 PlayFab 排行榜服务。 有关创建帐户的说明,请参阅 身份验证。
创建排行榜
我们将在左侧菜单中选择“进度”。
现在,从上方菜单中选择“排行榜”选项卡。
然后,我们将转到“新建排行榜”按钮并创建排行榜定义。
在这里,我们可以配置排行榜的各个方面。 在此处详细了解可用参数以及如何创建排行榜:
最终结果应如下所示。
设置环境
在这里,我们将了解如何设置开发人员环境以使用 C# SDK,但此处提供的概念也适用于其他 SDK 或纯 HTTP 请求。
设置 TitleId 和 DeveloperSecretKey
作为游戏实体进行身份验证时,需要 DeveloperSecretKey。
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://playfab.com/
- 创建标题
- 在“设置”下的“API 功能”部分中找到“标题 ID”。
- 生成密钥:
- 标题视图左上角标题名称旁边的齿轮
- 游戏设置
- 密钥
- 新密钥
下面是在 Game Manager 中找到“密钥”部分时 UI 的外观。
以游戏身份登录
对于写入操作,我们建议使用来自游戏服务器的 TitleEntity,此方法将返回 AuthenticationContext
将用于我们发出的所有请求的 。
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;
}
以玩家身份登录 (创建玩家)
此方法基于返回 类型的 title_player_account
实体的标识符创建玩家。 此处的详细信息: 快速入门实体
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
“获取排行榜 API”的响应中提供 属性,我们需要对创建的每个实体执行以下代码,以便将实体映射到游戏的自定义显示名称。
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);
}
另请参阅
- 创建基本排行榜。
- 使用排行榜执行更多操作。
- 季节性排行榜。
- 组排行榜。
- 手动层。
- 按统计信息对玩家进行排名。
- 将上下文数据添加到排行榜。
- API 参考。
- 排行榜计量。