实体 API 重构升级教程

简介

我们将集中在实体 API 组下的 API 重构为多个一致的逻辑组,通过文档站点和 PlayFab SDK 简化其使用。

其直接影响是,如果在游戏中使用了基于实体的 API,则在升级 SDK 时需要更新代码。

先决条件

仅当满足以下条件时,此升级指南才适用:

  1. 使用了基于实体的 PlayFab API。
  2. 您已升级到 2018 年 8 月 9 日发布或更高版本的 PlayFab SDK。

注意

服务级别更改。 例如,使用旧 SDK 的现有作品无需更改就能正常工作。

如何升级

这一更改的根本影响是 PlayFabEntityModel API 组分成了六个逻辑上绑定在一起的不同的 API 组,如下图所示。

PlayFabEntityModel API 组的更改

可在本教程的附录 1 中找到以前实体 API -> 新 API 映射的完整列表。

注意

经典 API 映射 受影响。

下一节将引导您完成使用 PlayFabEntityAPIGroup 将 C# SDK 升级到新的 API 组的示例。

升级示例:C# SDK

请遵循以下步骤升级应用程序。

步骤 1:更改任何引用 PlayFab.EntityModelsusing 语句,如下所示。

using PlayFab.EntityModels;
using PlayFab.DataModels;

现在,您可以更细致地选择要引入的 API,而不是导入整个实体 API 组。

步骤 2:下面提供更深入的新 API 编码示例,并通过注释说明与之前 API 的不同之处。

public async void Example()
{
       var logrequest = new PlayFab.ClientModels.LoginWithCustomIDRequest
       {
           CustomId = "TestExample",
           CreateAccount = true,
       };

       var loginResult = await PlayFab.PlayFabClientAPI.LoginWithCustomIDAsync(logrequest);
       var playfabId = loginResult?.Result?.PlayFabId;

       // PlayFab EntityAPI has been replaced here with the PlayFabProfilesAPI
       // and PlayFab.EntityModels has been replaced with PlayFab.ProfileModels
       var getProfileResult = await PlayFab.PlayFabProfilesAPI.GetProfileAsync(new
       PlayFab.ProfilesModels.GetEntityProfileRequest());
       var profile = getProfileResult?.Result?.Profile;
}

对于其他 SDK 套件,请使用本教程附录 1 中的映射。

总结

我们很高兴能够根据您的反馈以更直观的方式在我们的文档站点和代码中公开实体 API。

如果您有任何问题和意见,请通过 PlayFab 论坛与我们联系。

附录 1:旧 API 到新 API 的映射

下面列出的所有 API 以前 都是 PlayFabEntityModel API 组的一部分。 现在,它们按以下新 API 组分类。

PlayFabProfilesApi

  • GetGlobalPolicy
  • GetProfile
  • GetProfiles
  • SetGlobalPolicy
  • SetProfilePolicy

PlayFabAuthenticationApi

  • GetEntityToken

PlayFabDataApi

  • AbortFileUploads
  • DeleteFiles
  • FinalizeFileUploads
  • GetFiles
  • InitiateFileUploads
  • GetObjects
  • SetObjects

PlayFabGroupsApi

  • AcceptGroupApplication
  • AcceptGroupInvitation
  • AddMembers
  • ApplyToGroup
  • BlockEntity
  • ChangeMemberRole
  • CreateGroup
  • CreateRole
  • DeleteGroup
  • DeleteRole
  • GetEntityToken
  • GetGroup
  • InviteToGroup
  • IsMember
  • ListGroupApplications
  • ListGroupBlocks
  • ListGroupInvitations
  • ListGroupMembers
  • ListMembershipOpportunities
  • RemoveGroupApplication
  • RemoveGroupInvitation
  • RemoveMembers
  • UnblockEntity
  • UpdateGroup
  • UpdateRole

PlayFabEventsApi

  • WriteEvents

PlayFabCloudScriptApi

  • ExecuteEntityCloudScript