> ## 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 2018 版本发布说明

> PlayFab Services SDK 2018 年发布说明,记录了当年发布的 SDK 更新、新 API 功能、破坏性更改和 bug 修复。

## 181218

日期:2018 年 12 月 18 日

### XPlatCppSdk 相关更改

* [XPlatCppSdk](https://github.com/PlayFab/XPlatCppSdk) - **SDK 破坏性更改**:更新了 `XPlatCppSdk` 仓库的文件夹结构。如果你在项目引用中使用 SDK,则需要更新 vcxproj 文件的路径。
  * 向 `XPlatCppSdk` 添加了 XBOX 支持。请参阅 XBOX 的 C++ 快速入门。
  * **新 API**
  * 添加了 `PlayFabEventApi`,以支持重量级(低吞吐量)和轻量级(高吞吐量)自定义事件。

### UnrealMarketplacePlugin 相关更改

* [UnrealMarketplacePlugin](https://github.com/PlayFab/UnrealMarketplacePlugin)
  * 添加对 Unreal Engine 4.21 的支持

## 181204

日期:2018 年 12 月 4 日

### XPlatCppSDK 相关更改

* [XPlatCppSDK](https://github.com/PlayFab/XPlatCppSDK)
  * 添加了对构建外部依赖项的支持。
  * 更新了 NuGet 组成。这不是破坏性更改。将外部依赖项的二进制文件添加到了 NuGet 并更新了属性表。
  * **QoSAPI** 的 bug 修复。

### CSharpSDK 相关更改

* [CSharpSDK](https://github.com/PlayFab/CSharpSDK)
  * 添加了 .NET Standard 1.1/2.0(以及 .NET Core)支持。
  * 更新了 NuGet 组成。软件包现在还包含 .NET Standard 1.1/2.0 和便携版本的二进制文件。
  * 将 VS 项目文件迁移到 VS 2017 标准。

### UnitySDK 相关更改

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * **SDK 破坏性更改**:`SimpleGet` 成功回调签名已更改,现在必须接受 byte\[] 的新单一参数。
  * 添加了 `SimplePost`。

## 181105

日期:2018 年 11 月 5 日

### API 更改

* PlayFab 现在支持使用 `OpenID` 登录和账户链接。
* 更多 XboxLive ID 支持,并通过服务器启用 XBOX 登录。

作为服务更广泛发布的准备,我们正在推出 PlayFab Multiplayer Servers 2.0 API。有关详细信息,请参阅 [PlayFab Multiplayer Servers 2.0 (Thunderhead)](/services/playfab/multiplayer/servers)

## 181001

日期:2018 年 10 月 1 日

### API 更改

* 各种弃用已生效,我们从 SDK 和文档中删除了这些元素。
  * 隐藏了一些与未发布功能相关的 Admin API 方法。
  * `server.DeleteUsers` 弃用已生效。
  * `ServerHostname` 的字段弃用(分布在 admin、client、matchmaker 和 server API 中各种与匹配相关的调用中)已生效。`ServerIPV4Address` 是替代项。

### UnitySDK 更改

* `ScreenTime` 分析的小修复/改进。

### 所有 SDK

* GitHub 仓库的自动构建分支结构正在更改。
  * 面向普通客户的分支 "versioned" 和 "master" 保持不变。

## 180924

日期:2018 年 9 月 24 日

### API 更改

* 向 [DeleteMasterPlayerAccountRequest](xref:titleid.playfabapi.com.admin.accountmanagement.deletemasterplayeraccount#deletemasterplayeraccountrequest) 模型添加了 Metadata。
* Unreal Marketplace Plugin 中的 bug 修复,以扩展支持的版本。

## 180917

日期:2018 年 9 月 17 日

### API 更改

* Server API 方法 `DeleteUsers` 已弃用,并替换为 [DeletePlayer](xref:titleid.playfabapi.com.server.accountmanagement.deleteplayer)
* Unreal Marketplace Plugin:
  * 更新了 Marketplace 插件以包含我们的 Blueprint 接口。
  * [新的 Unreal Engine 快速入门指南](/services/playfab/sdks/unreal/quickstart)
  * [在 Unreal Marketplace 中查看](https://www.unrealengine.com/marketplace/playfab-SDK)

## 180906

日期:2018 年 9 月 6 日

### 新 API

* **Localization**

### 新 PlayStream 事件文档

* [client\_focus\_change](/services/playfab/api-references/events/Session/client-focus-change)
* [client\_session\_start](/services/playfab/api-references/events/Session/client-session-start)
* [player\_device\_info](/services/playfab/api-references/events/PlayerIdentity/player-device-info)

## 180829

日期:2018 年 8 月 29 日

### API 更改

* 将 `Entity.TypeString` 重命名为 `Entity.Type`。
* 将 `EmptyResult` 重命名为 \[EmptyResponse]。(`xref:titleid.playfabapi.com.groups.groups.removemembers#emptyresponse`)
* 重命名了大多数身份验证函数调用,例如从 `GameServer` 到 `MutliplayerServer`。
* [Admin.GetUserAccountInfo](xref:titleid.playfabapi.com.admin.accountmanagement.getuseraccountinfo) 具有更详细的平台信息。

### Objective C 相关更改

* 各种 bug 修复和重构。
* 将 AttributeInstallRequest 更改为特定于 API。

### Unreal Engine 相关更改

* 将 UE marketplace 插件添加到 SDK 生成器中。

## 180809

日期:2018 年 8 月 9 日

### API 组更改

* 我们已将 Entity API 组分成多个新的 API 组。
* 对于使用旧 Entity API 的任何人来说,这是一个巨大的 SDK 破坏性更改。
* 请参阅我们的[升级指南](/services/playfab/live-service-management/game-configuration/entities/entity-api-restructure-upgrade-tutorial)!
* (注意:博客和升级指南的链接可能尚不可用,它们即将完成。)

### API 更改

* **新 API 方法:**
  * 以下 API 已发布并可在 SDK 中查看,但随附的文档尚未准备好:
    * client.[LoginWithNintendoSwitchDeviceId](xref:titleid.playfabapi.com.client.authentication.loginwithnintendoswitchdeviceid)
    * client.[UnlinkNintendoSwitchDeviceId](xref:titleid.playfabapi.com.client.accountmanagement.unlinknintendoswitchdeviceid)
    * server.[GetPlayFabIDsFromNintendoSwitchDeviceIds](xref:titleid.playfabapi.com.client.accountmanagement.getplayfabidsfromnintendoswitchdeviceids)
    * client.[LoginWithFacebookInstantGamesId](xref:titleid.playfabapi.com.client.authentication.loginwithfacebookinstantgamesid) (尚未准备好使用)
    * client.[UnlinkFacebookInstantGamesId](xref:titleid.playfabapi.com.client.accountmanagement.unlinkfacebookinstantgamesid) (尚未准备好使用)
    * server.[GetPlayFabIDsFromFacebookInstantGamesIds](xref:titleid.playfabapi.com.client.accountmanagement.getplayfabidsfromfacebookinstantgamesids) (尚未准备好使用)。
* **新 PlayStream 事件**
  * `title_hopper_config_updated` 事件已重命名为 [title\_queue\_config\_updated](/services/playfab/api-references/events/Matchmaking/title-queue-config-updated)
* **一般更改**
  * 弃用了许多模型中的参数 `ServerAddress`,以支持新的 `ServerIPV4Address`。

### Unreal(多个 SDK)相关更改

* 对两个 SDK/插件的小更新,最终合并到 Marketplace 插件中。(即将推出!)

### PythonSDK! 相关更改

* [PythonSDK!](https://github.com/PlayFab/PythonSdk)
  * bug 修复和改进。

### UnitySDK 和 CSharpSDK 相关更改

* [UnitySDK](https://github.com/PlayFab/UnitySDK) 和 [CSharpSDK](https://github.com/PlayFab/CSharpSDK)
  * 添加了一个名为 Plugin Manager 的新结构。目前,这只是未来更改的基础。我们将一些旧的函数签名标记为已过时,你应更新它们。(不过没有破坏性更改)。
  * 发现并解决了 HTTPS.Put 的多个问题,这使得 Entity Files 在更多平台上更易访问。
  * ScreenTime 功能中的 bug 修复。

## 180716

日期:2018 年 7 月 16 日

### UnitySDK 更改

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 修复了 ScreenTime 在某些罕见情况下的小问题。

### CSharpSDK 更改

* [CSharpSDK](https://github.com/PlayFab/CSharpSDK)
  * 向 C# SDK 添加了 [Plugin Manager API](https://github.com/PlayFab/CSharpSDK/blob/master/PluginManager.md),以支持 JSON 序列化器和 HTTP 客户端的可选自定义实现。
  * **~~UnrealCppSdk 更改:~~**(已更新:此 SDK 已弃用。有关新的 unreal SDK,请参阅 [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))
  * Unreal 4 C++ SDK 也已发布在 [Unreal Marketplace!](https://www.unrealengine.com/marketplace/playfab-SDK)

## 180710

日期:2018 年 7 月 10 日

### Unity 热修复版本

* 对 ScreenTime 事件的进一步改进和优化。

## 180709

日期:2018 年 7 月 9 日

### 热修复版本

* 修复上周部署中的一些小问题。
* 上周发布说明中的所有内容现在应按承诺工作。

## 180706

日期:2018 年 7 月 6 日

### API 更改

* **新 API 方法:**
  * entity.[WriteEvents](xref:titleid.playfabapi.com.events.playstreamevents.writeevents)

### UnitySdDK 相关更改

* [UnitySdDK](https://github.com/PlayFab/UnitySDK)
  * 上一版本中描述的屏幕时间跟踪不再仅限于 Beta。

## 180705

日期:2018 年 7 月 5 日

### API 更改

* EntityAPI.[ExecuteEntityCloudScript](xref:titleid.playfabapi.com.cloudscript.server-sidecloudscript.executeentitycloudscript)
* `PlayStreamEventModel.title_hopper_config_updated`

### 新 PythonSDK! 更改

* [PythonSDK!](https://github.com/PlayFab/PythonSdk)
  * 使用 2.7 进行了测试

### UnitySDK 更改

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 将一些工具封装在命名空间中,以避免第三方冲突。
  * Editor Extensions 应表现得更好,显示的警告更少。
  * 新功能 - 阅读我们的[会话](/services/playfab/data-analytics/ingest-data/sessions)教程。

### JavaScriptSDK 更改

* [JavaScriptSDK](https://github.com/PlayFab/JavaScriptSDK)
  * Login 函数的 `customData` 中继参数现在应工作。

### XPlatCppSDK 相关更改

* [XPlatCppSDK](https://github.com/PlayFab/XPlatCppSdk)
  * 现在能正确解析大型结果。

## 180618

日期:2018 年 6 月 18 日

### API 更改

* 在各种 API 方法中添加了新错误代码。
* 多个与实体相关的 PlayStream 事件现在描述其 [EntityLineage](/services/playfab/api-references/events/data-types/entitylineage)。

## 180528

日期:2018 年 5 月 28 日

### API 更改

* **新 API 方法:**
  * Admin.[GetPlayedTitleList](xref:titleid.playfabapi.com.admin.accountmanagement.getplayedtitlelist)
  * Admin.[DeleteMasterPlayerAccount](xref:titleid.playfabapi.com.admin.accountmanagement.deletemasterplayeraccount)
  * Admin.[ExportMasterPlayerData](xref:titleid.playfabapi.com.admin.accountmanagement.exportmasterplayerdata)
  * 这是新 GDPR 发布的一部分。请查看我们的博客[此处](https://blog.playfab.com/blog/gdpr)
* 在各种 API 方法中更新了错误代码
* 新 PlayStream 事件:
  * [player\_data\_exported](/services/playfab/api-references/events/PlayerIdentity/player-data-exported)

## 180514

日期:2018 年 5 月 14 日

### XPlatCppSDK 相关更改

* [XPlatCppSDK](https://github.com/PlayFab/XPlatCppSdk)
  * JSON 序列化中的修复。

## 180507

日期:2018 年 5 月 7 日

### API 更改

* **新 API 方法:**
  * entity.[GetProfiles](xref:titleid.playfabapi.com.profiles.accountmanagement.getprofiles)
* **新 PlayStream 事件:**
  * [entity\_executed\_cloud\_script](/services/playfab/api-references/events/CloudScript/entity-executed-cloud-script)
* **更新的 API 方法:**
  * client.[RegisterPlayFabUser](xref:titleid.playfabapi.com.client.authentication.registerplayfabuser) 现在返回 [result](xref:titleid.playfabapi.com.client.authentication.registerplayfabuser#registerplayfabuserresult).[EntityToken](xref:titleid.playfabapi.com.client.authentication.registerplayfabuser#entitytokenresponse)

### UnitySDK 相关更改

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 改进了 `HttpWebRequest` 证书验证的安全性。
  * 不再默认忽略所有证书。
  * 客户应实现自己的证书验证,或调用 `PlayFab.Internal.PlayFabWebRequest.SkipCertificateValidation()`。

### WindowsSdk 相关更改

* 修复了数百个第 4 级警告。
* 更正了 `PlayFabSettings.cpp` 中发布的版本号。
* 大多数之前的版本在代码中和调用标头中嵌入的版本号都是错误的。

### 创建了 XPlatCppSDK

* [XPlatCppSDK](https://github.com/PlayFab/XPlatCppSDK)
  * 目前处于 beta 阶段。
  * 使用 Windows SDK 作为模板构建。
  * 可能成为 Windows SDK 的替代品(至少还有几个月)。
  * 升级应几乎不需要破坏性更改。
  * 一些 `cpprestsdk` 字符串应转换为 `std::string`。
  * 将一些 `web::json::value` 类型转换为 `json::value`。
  * Linux 上的时间戳未进行全面测试。
  * NuGet 软件包
  * 使用更轻量级的依赖项
  * 具体来说是 `jsoncpp` 和 curl,而不是 `cpprestsdk`。
  * 到处使用 `std::string`,而不是两种字符串类型的混合。
  * 添加了 Linux 支持。

## 180414

日期:2018 年 4 月 14 日

**~~UnrealCppSdk 热修复:~~**(已更新:此 SDK 已弃用。有关新的 unreal SDK,请参阅 [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))

* ~~在 UnrealCppSdk 的 Entity API 发布中发现了问题。这些问题已进行热修复,Entity API 现在应按预期工作。~~

## 180409

日期:2018 年 4 月 9 日

### API 更改

* **热修复:**
  * 只更新了日期,没有更新主版本/次版本号。
* **Guilds:**
  * client.[GetAccountInfo](xref:titleid.playfabapi.com.client.accountmanagement.getaccountinfo).[UserAccountInfo](xref:titleid.playfabapi.com.client.accountmanagement.getaccountinfo#useraccountinfo).[UserTitleInfo](xref:titleid.playfabapi.com.client.accountmanagement.getaccountinfo#usertitleinfo).[TitlePlayerAccount](xref:titleid.playfabapi.com.client.accountmanagement.getaccountinfo#entitykey) 现在包含识别其他玩家并将其添加到你的公会/群组所需的信息。
  * 使用 [admin.GetUserAccountInfo](xref:titleid.playfabapi.com.admin.accountmanagement.getuseraccountinfo) 和 [server.GetUserAccountInfo](xref:titleid.playfabapi.com.server.accountmanagement.getuseraccountinfo) 也可找到相同的信息。

### [UnitySDK](https://github.com/PlayFab/UnitySDK) 相关更改

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 提升默认 HTTP 设置(UnityWWW)的性能,针对长时间运行的进程。

## 180403

日期:2018 年 4 月 3 日

### Unreal SDK 已更新以支持 v4.17 到 4.19

* 删除对 UE 4.14 到 4.16 的支持(更新!)

## 180329

日期:2018 年 3 月 29 日

### Unreal SDK 已更新以支持 Entity API

* 抱歉延迟!
* 此版本仍针对 UE 4.17,而不是 4.18 或 4.19。我们正在更新版本中。

## 180316

日期:2018 年 3 月 16 日

### API 更改

* Entities! [博客](https://api.playfab.com/blog/introducing-entities-objects-and-files)<img src="https://mintlify.s3.us-west-1.amazonaws.com/microsoft-4404708b/services/playfab/live-service-management/game-configuration/entities/quickstart" alt="快速入门指南" />!
* 如果 `request.LoginTitlePlayerAccountEntity` 设置为 `true`,所有 Client 登录方法都会返回 Entity 凭据。
* Guilds! [博客](https://api.playfab.com/blog/announcing-groups-for-guilds-friends-clans-and-more)<img src="https://mintlify.s3.us-west-1.amazonaws.com/microsoft-4404708b/services/playfab/community/associations/groups/quickstart" alt="指南" />!
* 许多 API 方法的错误代码已更新以提高准确性(数十个!)。

### 新 API 方法

* [admin.RevokeInventoryItems](xref:titleid.playfabapi.com.admin.playeritemmanagement.revokeinventoryitems) 和 [server.RevokeInventoryItems](xref:titleid.playfabapi.com.server.playeritemmanagement.revokeinventoryitems)。
* 全新的 [Entity API](/services/playfab/live-service-management/game-configuration/entities/quickstart)。
* 许多新的 [Entity PlayStream 事件](/services/playfab/api-references/events)(在链接页面上搜索 "entity")。

### 大多数 SDK 已更新以支持 Entity API

* **完全支持:**
  * [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * [JavaScriptSDK](https://github.com/PlayFab/JavaScriptSDK)
  * [ActionScriptSDK](https://github.com/PlayFab/ActionScriptSDK)
  * [CSharpSDK](https://github.com/PlayFab/CSharpSDK)
  * [NodeSDK](https://github.com/PlayFab/NodeSDK)
  * [PostmanCollection](https://github.com/PlayFab/PostmanCollection)
  * WindowsSDK
  * [Cocos2d-xSDK](https://github.com/PlayFab/Cocos2d-xSDK)
  * [JavaSDK](https://github.com/PlayFab/JavaSDK)
  * [LuaSdk](https://github.com/PlayFab/LuaSDK) (包括 Corona 和 Defold)
  * [PhpSdk](https://github.com/PlayFab/PhpSdk)
  * CloudScript
* **即将支持:** Unreal Bp 和 Cpp。(抱歉 - 由于技术困难而延迟!)

## 180213

日期:2018 年 2 月 13 日

### API 更改

* 当请求参数中传入自定义账户恢复电子邮件模板 ID 时,`SendAccountRecoveryEmail` 现在支持自定义账户恢复电子邮件模板。
* 所有 Client 登录机制现在都可以选择性地返回 Entity API 凭据。(这是即将推出的功能的一部分。)

### UnitySDK 相关更改

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 我们不再支持较旧的 Unity 版本,请参阅我们的[博客文章](https://blog.playfab.com/blog/unity-version-support)。
  * 构建文件现在使用 Unity 版本 2017.3.0f3 发布。

## 180131

日期:2018 年 1 月 31 日

### JavaSDK 更改

* [JavaSDK](https://github.com/PlayFab/JavaSDK)
  * Java 现在发布到 Maven。

## 180129

日期:2018 年 1 月 29 日

### UnitySDK 相关更改

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 修复压缩问题。
  * 应可安全地为所有版本和所有平台重新启用压缩。

## 180123

日期:2018 年 1 月 23 日

### UnitySDK 热修复

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * PlayFab UnitySDK 在 Unity 版本 2017.1 中存在问题。
  * 有关详细信息,请参阅[论坛帖子](https://community.playfab.com/questions/16734/error-cs1061-no-definition-for-sendwebrequesterror.html)。
  * 我们解决了这个问题。PlayFab UnitySDK 应再次适用于所有版本。

## 180122

日期:2018 年 1 月 22 日

### API 文档更新

* 许多 API 方法上的错误代码已更新。

### CSharpSDK 和 UnitySDK 相关更改

* [CSharpSDK](https://github.com/PlayFab/CSharpSDK) 和 UnitySDK
  * 添加了 PlayFabException 类,这样更容易捕获 PlayFab 特定异常。

### NodeSDK 相关更改

* [NodeSDK](https://github.com/PlayFab/NodeSDK)
  * SDK 破坏性更改:NodeSDK NPM 包的 require 语法已更改。
  * 重点是 NPM 软件包的重大升级。
  * 以前的 require 语句不遵循 NPM 约定,需要多个非标准 require 语句。
  * 现在只需要一个 require 语句,并遵循 NPM 约定。
  * 主版本号已更改,此版本现在是 2.0。
  * 1.x 到 2.x [升级指南](https://github.com/PlayFab/NodeSDK/blob/master/upgrade.md)。

### CloudScript 示例

* 为 API Error 异常添加了 TypeScript 定义。

## 180103

日期:2018 年 1 月 3 日

### LuaSDK 相关更新

* [LuaSDK](https://github.com/PlayFab/LuaSDK)/Defold/Corona
  * bug 修复更新。
  * 某些平台生成的 URL 格式错误,无法解析。

## 180102

日期:2018 年 1 月 2 日

### UnitySDK 相关更新

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * bug 修复更新。
  * 为避免响应头问题,应为所有设备构建禁用压缩。此更新使此设置成为可能。
  * 或者,切换到 Web Request 也可避免该问题。
  * 为 Unity 版本 > 2017 添加了新的 HTTP 选项。


## Related topics

- [PlayFab 2021 版本发布说明](/zh-CN/services/playfab/release-notes/2021.md)
- [PlayFab 2015 版本发布说明](/zh-CN/services/playfab/release-notes/2015.md)
- [PlayFab 2022 版本发布说明](/zh-CN/services/playfab/release-notes/2022.md)
- [PlayFab 2019 版本发布说明](/zh-CN/services/playfab/release-notes/2019.md)
- [PlayFab 2020 版本发布说明](/zh-CN/services/playfab/release-notes/2020.md)
