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

# PlayFab 2016 年发行说明

> PlayFab 2016 年的发行说明。

## 161121

日期：2016 年 11 月 20 日

### API 变更

* 现在可以单独启用或禁用每个 Client API。
* 有关详细信息，请参阅我们的[博客文章](https://blog.playfab.com/blog/permission-policies/)。
* 我们即将发布一项名为“计划任务”(Scheduled Tasks) 的新功能。
* 有关详细信息，请参阅我们的博客文章：(即将推出)。

### 新增 API

* Client API 策略 API
* [Admin/GetPolicy](xref:titleid.playfabapi.com.admin.authentication.getpolicy)
* [Admin/UpdatePolicy](xref:titleid.playfabapi.com.admin.authentication.updatepolicy)
* 计划任务
* [Admin/AbortTaskInstance](xref:titleid.playfabapi.com.admin.scheduledtask.aborttaskinstance)
* [Admin/CreateActionsOnPlayersInSegmentTask](xref:titleid.playfabapi.com.admin.scheduledtask.createactionsonplayersinsegmenttask)
* [Admin/CreateCloudScriptTask](xref:titleid.playfabapi.com.admin.scheduledtask.createcloudscripttask)
* [Admin/DeleteTask](xref:titleid.playfabapi.com.admin.scheduledtask.deletetask)
* [Admin/GetActionsOnPlayersInSegmentTaskInstance](xref:titleid.playfabapi.com.admin.scheduledtask.getactionsonplayersinsegmenttaskinstance)
* [Admin/GetCloudScriptTaskInstance](xref:titleid.playfabapi.com.admin.scheduledtask.getcloudscripttaskinstance)
* [Admin/GetTasks](xref:titleid.playfabapi.com.admin.scheduledtask.gettasks)
* [Admin/RunTask](xref:titleid.playfabapi.com.admin.scheduledtask.runtask)
* [Admin/UpdateTask](xref:titleid.playfabapi.com.admin.scheduledtask.updatetask)

### 新增 PlayStream 事件

* [title\_permission\_policy\_changed](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/ApiAccessPolicy/title-permission-policy-changed.md)

### WindowsSDK 特定变更

* 全面改进的新版 **WindowsSDK** 将于下周发布。
* 有关简要说明，请参阅我们的博客文章。
* 如果你有兴趣预览即将推出的变更，请在此处发帖：
  * [https://community.playfab.com/questions/3973/windowsc-SDK-vs2015-support.html](https://community.playfab.com/questions/3973/windowsc-SDK-vs2015-support.html)

## 161108

日期：2016 年 11 月 7 日

### 修补程序

全面改进的 [CSharpSDK](https://github.com/PlayFab/CSharpSDK) 1.0 版将 .NET 版本要求从 4.0 提高到了 4.6。这并非预期行为。此修补程序删除了仅限 4.6 的功能，使其能够在 .NET 4.0 或更高版本上生成。

## 161107

日期：2016 年 11 月 6 日

### API 变更

**共享**

* `CatalogItem`
* `InitialLimitedEditionCount` (已结束 beta 版)
  如果 `IsLImitedEdition` 为 `true`，则此字段决定该物品的初始可用数量。如果该目录物品已存在于此目录中，或者该字段小于 1，则忽略此字段。
* 玩家显示名称唯一性现在为可选项。
* 玩家连接到 Photon Cloud 时，玩家显示名称将作为 Photon“Nickname”返回。

**Server API**

* `RedeemCouponRequest`
  * 新增：`CharacterId`
  * 应接收该物品的角色的可选标识符。如果为 `null`，则将物品添加到玩家。
* **UpdatePlayerStatisticsRequest**
  * 新增：`ForceUpdate`
    * 指示是否应设置所提供的统计数据，而不考虑该统计数据上设置的聚合方法。默认值为 `false`。

### 新增 PlayStream 事件

* `Player_photon_session_authenticated`
* `Title_secret_key_changed`
* `Title_api_settings_changed`

### SDK 变更

* [CSharpSDK](https://github.com/PlayFab/CSharpSDK) 特定变更：
  * [CSharp 重大升级](https://blog.playfab.com/blog/csharpsdk-upgrade/)

## 161031

日期：2016 年 10 月 30 日

~~**Unreal Blueprints 修补程序版本**~~ (已更新：此 SDK 已弃用。有关新的 Unreal SDK，请参阅 [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))

* ~~UnrealBlueprintSDK **升级警告**：Android 与 PlayFab“SourceType”枚举之间存在命名冲突。因此，我们不得不重命名此蓝图枚举。这会破坏所有 [Client/GetStoreItems](xref:titleid.playfabapi.com.client.title-widedatamanagement.getstoreitems) 或 [Admin/GetStoreItems](xref:titleid.playfabapi.com.admin.title-widedatamanagement.getstoreitems) PlayFab API 节点。在编辑器中的升级过程是删除并重新创建每个受影响的蓝图节点。~~

* ~~UnrealBlueprintSDK 特定变更：~~
  * ~~修复了某些错误无法正确报告的小 bug~~
  * ~~修复了导致无法生成 Android 版本的名称冲突 (ESourceType)~~

## 161017

日期：2016 年 10 月 16 日

### 弃用变更

* `Client/GetUserCombinedInfo` 已从 `Proposed` 过渡到 `Deprecated`，这意味着大多数使用它的 SDK 现在都会引发错误。请过渡到 [Client/GetPlayerCombinedInfo](xref:titleid.playfabapi.com.client.accountmanagement.getplayercombinedinfo)。
* 根据此博客：[弃用可见性](https://playfab.com/blog/deprecation-visibility/)，此补丁说明 [160822](#160822) 中已弃用的 API 已从“已弃用”过渡到“已过时”，因此这些 API 已从最新版本的 SDK 中删除。如果更新 SDK，则现在必须过渡到新的替代 API。
* `Admin UserCredentials` 对象中的 `Password` 已弃用。调用 `Admin/ResetUsers` 方法时，你不再需要知道用户的密码。

### UnitySdk 中断性变更

* [UnitySdk](https://github.com/PlayFab/UnitySDK)
  * 如果你对 PlayFab API 模型类型使用反射，则必须将反射逻辑从属性转换为字段 (请参阅下一节中的 UnitySdk 特定变更)。

### API 变更

* **新增 PlayStream 事件：**
  * ~~`gamelobby_started`~~ (已更新：此项已弃用。请参阅 [Lobby-Matchmaking-Messages](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/lobby/lobby-and-matchmaking-real-time-messages.md))
  * ~~`gamelobby_ended`~~(已更新：此项已弃用。请参阅 [Lobby-Matchmaking-Messages](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/lobby/lobby-and-matchmaking-real-time-messages.md))
  * [Client/AttributeInstall](xref:titleid.playfabapi.com.client.advertising.attributeinstall) 请求弃用了 `Android_Id`，并将其转换为 `Adid`。所有 SDK 都更新了一些内部登录挂钩以适应此变更。这不是中断性变更，因为此处本应使用 Google-AdvertisingId (Adid)，而使用 Android DeviceId 无法正常工作。此变更是为了清晰性和一致性
  * 对于 GitHub 加载项，对 CloudScript 的修订不再立即生效。而是会创建一个新修订，并由你通过 Game Manager 使其生效
  * 此文档中描述的默认 `helloWorld` CloudScript 函数已过时：[CloudScript 快速入门](https://docs.xbox.com/zh-CN/services/playfab/live-service-management/service-gateway/automation/cloudscript/quickstart.md)。已更新该文档，使其更接近当前版本 (这仅与新建游戏相关)

### API Server bug 修复

* 修复了 [Server/ExecuteCloudScript](xref:titleid.playfabapi.com.server.server-sidecloudscript.executecloudscript) 中的 500 错误：PlayFabId 现在是必需参数。以前，如果未提供 PlayFabId，API 会引发错误。
* 修复了 [Server/GetSharedGroupData](xref:titleid.playfabapi.com.server.sharedgroupdata.getsharedgroupdata) 中的 500 错误：SharedGroupId 现在是必需参数。以前，如果未提供 SharedGroupId，API 会引发错误。
* 修复了 [Server/AddSharedGroupMembers](xref:titleid.playfabapi.com.server.sharedgroupdata.addsharedgroupmembers) 中的 500 错误：PlayFabIds 现在是必需参数。以前，如果未提供 PlayFabIds，API 会引发错误。
* 修复了 [Server/RemoveSharedGroupMembers](xref:titleid.playfabapi.com.server.sharedgroupdata.removesharedgroupmembers) 中的 500 错误：PlayFabIds 现在是必需参数。以前，如果未提供 PlayFabIds，API 会引发错误。
* 修复了 [Server/DeleteSharedGroup](xref:titleid.playfabapi.com.server.sharedgroupdata.deletesharedgroup) 中的 500 错误：SharedGroupId 现在是必需参数。以前，如果未提供 SharedGroupId，API 会引发错误。

### LuaSDK 特定变更

* [LuaSDK](https://github.com/PlayFab/LuaSDK)
  * 改进了用于区分 Corona 和 Defold 的标识标头。

### UnitySDK 特定变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 将模型属性转换为字段，以便它们在 Unity Inspector 中更好地显示 (如适用)。
  * 修复了一个 bug：如果 CloudScript 函数返回基元类型，现在会将其正确反序列化并作为 FunctionResult 返回。以前它为 null。
  * 修复了 PaperTrail 包：[UnityPlayFabPaperTrail.unitypackage](https://github.com/PlayFab/UnitySDK/blob/master/Packages/UnityPlayFabPaperTrail.unitypackage)

### SDKGenerator 特定变更

* [SDKGenerator](https://github.com/PlayFab/SDKGenerator)
  * [SDKGenerator](https://github.com/PlayFab/SDKGenerator) 现在还可以从 Api-Server 或 GitHub 读取 `Api-Specs`，使客户能够以更少的步骤和依赖项生成与 PlayFab API 服务器同步的自定义 SDK。

## 161003

日期：2016 年 10 月 2 日

### API 变更

* **新增 API**
  * Client/GetTime
  * Server/GetTime
  * Google OAuth 已升级到 v3
  * 改进了文档网站上的搜索结果：[PlayFab 文档](../index.yml)。

### SDK 全局变更

* 修订了 SDK 中示例的文档，并更好地说明了如何使用我们的测试工具：
  * [https://github.com/PlayFab/SDKGenerator/blob/master/JenkinsConsoleUtility/testTitleData.md](https://github.com/PlayFab/SDKGenerator/blob/master/JenkinsConsoleUtility/testTitleData.md)
  * [https://github.com/PlayFab/SDKGenerator/blob/master/JenkinsConsoleUtility/readme.md](https://github.com/PlayFab/SDKGenerator/blob/master/JenkinsConsoleUtility/readme.md)

### LuaSdk 特定变更

* [LuaSdk](https://github.com/PlayFab/LuaSDK)
  * 现在可以从 Corona Marketplace 获取 Corona 插件。
  * Client 插件：[https://marketplace.coronalabs.com/plugin/playfab-client](https://marketplace.coronalabs.com/plugin/playfab-client)
  * Server 插件：[https://marketplace.coronalabs.com/plugin/playfab-server](https://marketplace.coronalabs.com/plugin/playfab-server)
  * Combo 插件：[https://marketplace.coronalabs.com/plugin/playfab-combo](https://marketplace.coronalabs.com/plugin/playfab-combo)
  * Corona 自述文件：[https://github.com/PlayFab/LuaSdk/tree/master/Corona](https://github.com/PlayFab/LuaSdk/tree/master/Corona)

### UnitySDK 特定变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * [UnitySDK](https://github.com/PlayFab/UnitySDK) V0 存储库即将停用。所有人都应更新到我们下载页面上提供的 UnitySDK V2。
  * `IDFA` 和 `AdvertisingId` 在 Unity 5.5 beta 版本上可正常工作。
  * 返回基元类型 (例如整数) 的 CloudScript 函数可正确反序列化
  * 对 Unity 压缩进行了小幅改进。现在可以安全地在 PlayFabSharedSettings 可编写脚本对象中启用压缩。

### WindowsSDK 特定问题

* 此存储库中发布的 .lib 文件现在超出了 GitHub 的最大文件大小限制。
* 最新版本没有更新的 lib 文件，我们已开始寻找替代方案。

## 160919

日期：2016 年 9 月 18 日

### 新增付款 API

* 我们正在扩展付款 API，以纳入退款和争议购买的标准方式。
* [Admin/RefundPurchase](xref:titleid.playfabapi.com.admin.playerdatamanagement.refundpurchase)
* [Admin/ResolvePurchaseDispute](xref:titleid.playfabapi.com.admin.playerdatamanagement.resolvepurchasedispute)
  **将几个基于好友的 API 从 Client 复制到了 Server：**

  * [Server/GetFriendLeaderboard](xref:titleid.playfabapi.com.server.playerdatamanagement.getfriendleaderboard)
  * [Server/AddFriend](xref:titleid.playfabapi.com.server.friendlistmanagement.addfriend)
  * [Server/GetFriendsList](xref:titleid.playfabapi.com.server.friendlistmanagement.getfriendslist)
  * [Server/RemoveFriend](xref:titleid.playfabapi.com.server.friendlistmanagement.removefriend)

### 对 Server API 的匹配功能进行了小幅改进

* ~~`Server/RegisterGame`~~
* ~~`Server/DeregisterGame`~~
* ~~`Server/SetGameServerInstanceTags`~~
* ~~`Server/RefreshGameServerInstanceHeartbeat`~~
  (已更新：此项已弃用。请参阅 [Servers](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/servers/index.md))

### Cocos2d-xSDK 特定变更

* [Cocos2d-xSDK](https://github.com/PlayFab/Cocos2d-xSDK)
  * 更新了 Cocos 示例，触发了示例项目的重新生成。由于仅应用了外观变更，它应仍按之前的设计工作。

### UnitySDK 特定变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 对 Unity 游戏服务器进行了小幅修复，以反映 API 变更。

### JavaScriptSDK 特定变更

* [JavaScriptSDK](https://github.com/PlayFab/JavaScriptSDK)
  * 更新了测试示例以使用 CDN。

## 160912

日期：2016 年 9 月 11 日

### Unity 和 CSharp 升级警告

* [160822](#160822) 中描述的弃用警告已生效。已弃用的 API 现在会在可能的情况下引发编译器错误。
  同样，我们已从主文档中筛除了这些 API 的文档。

### API 变更

* **新增 API**
  * `Admin/GetAllActionGroups`
  * `Server/GetAllActionGroups`

### LuaSDK 特定变更

* [LuaSDK](https://github.com/PlayFab/LuaSDK)
  * 增量 Corona 支持：提供了可包含在 Corona 项目中的新的/临时 zip 文件。正式的 Corona 插件即将推出。

## 160829

日期：2016 年 8 月 28 日

### API 变更

* **新增 API**
  * [Client/GetPlayerTags](xref:titleid.playfabapi.com.client.playstream.getplayertags)
  * [Server/AddPlayerTag](xref:titleid.playfabapi.com.server.playstream.addplayertag)
  * [Server/GetPlayerTags](xref:titleid.playfabapi.com.server.playstream.getplayertags)
  * [Server/RemovePlayerTag](xref:titleid.playfabapi.com.server.playstream.removeplayertag)
  * [Admin/AddPlayerTag](xref:titleid.playfabapi.com.admin.playstream.addplayertag)
  * [Admin/GetPlayerTags](xref:titleid.playfabapi.com.admin.playstream.getplayertags)
  * [Admin/RemovePlayerTag](xref:titleid.playfabapi.com.admin.playstream.removeplayertag)

我们引入了细分标记，它提供了一种将玩家直接放入特定细分的方式。现在，你可以为每个玩家添加一个或多个细分标记。然后，在创建细分时，可以基于细分标记来定义该细分。

细分标记的一个预期用途是与外部分析提供商 (例如 Appuri) 集成。外部分析提供商可以执行其自己的高级细分 (例如“可能流失”)，然后为符合该细分的玩家设置标记。
发布了所有当前的弃用变更。有关详细信息，请参阅我们的博客文章：[https://playfab.com/deprecation-visibility/](https://playfab.com/deprecation-visibility/)

### Cocos2d-xSDK 特定变更

* [Cocos2d-xSDK](https://github.com/PlayFab/Cocos2d-xSDK)
  * 特别感谢 Forest Ring Games 的 Max Muthig 提供以下更新：
    * 添加了对 lambda 回调函数的支持 (以前仅允许静态函数)。

### PostmanCollection 特定变更

* [PostmanCollection](https://github.com/PlayFab/PostmanCollection)
  * 为所有 API 方法添加了一个标头，帮助我们的服务器跟踪 SDK 使用情况。(所有其他 SDK 上已存在此标头)。

### UnitySDK 特定变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)

  * Unity Editor Extensions 现已作为初始公共 beta 版发布。此插件提供了一个易于使用的界面，用于配置和管理 PlayFab SDK。我们鼓励所有 Unity 开发人员试用 EdEx。注册并开始开发吧。
  * 添加了 `ExecuteCloudScript` 的替代实现，它使用泛型参数自动将 `FunctionResult` 解析为目标类型。
  * 改进了 API 方法中的失败情况：某些以前引发异常的情况现在会正确报告给错误回调 (例如在没有 Internet 连接时的 Web 请求)，其他情况则会向错误回调报告更好的信息。

~~**UnrealBlueprintSdk 特定变更：**~~ (已更新：此 SDK 已弃用。有关新的 Unreal SDK，请参阅 [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))

* ~~修复了请求中包含可选列表字段的 API 无法将请求正确发布到服务器的问题。(例如 GetPlayerStatistics)~~

### SDKGenerator 特定变更

* [SDKGenerator](https://github.com/PlayFab/SDKGenerator)
  * 更新了文档和示例项目，以便为 PlayFab 用户更好地说明如何为我们的 API 创建自己的 SDK。

## 160822

日期：2016 年 8 月 21 日

### 全局升级警告

某些 SDK 已针对已弃用的 API 添加了警告。
如果看到这些警告，请尽快解决，并迁移到指定的替代 API。
其中许多 API 将在接下来的几个月内从 SDK 中删除。
[此处](https://blog.playfab.com/blog/deprecation-visibility/)有一篇关于此内容的博客文章。&#x20;

### 弃用通知

* **Admin 字段**

  * `UpdateCloudScriptRequest.Version`

* **Client 字段**

  * `GetPlayFabIDsFromSteamIDsRequest.SteamIDs`
  * `SendAccountRecoveryEmailRequest.PublisherId`
  * `SteamPlayFabIdPair.SteamId`

* **Client 数据类型**

  * `GetCloudScriptUrlRequest`
  * `GetCloudScriptUrlResult`
  * `GetFriendLeaderboardAroundCurrentUserRequest`
  * `GetFriendLeaderboardAroundCurrentUserResult`
  * `GetLeaderboardAroundCurrentUserRequest`
  * `GetLeaderboardAroundCurrentUserResult`
  * `GetUserCombinedInfoRequest`
  * `GetUserCombinedInfoResult`
  * `GetUserStatisticsRequest`
  * `GetUserStatisticsResult`
  * `LogEventRequest`
  * `LogEventResult`
  * `UpdateUserStatisticsRequest`
  * `UpdateUserStatisticsResult`

* **Client API**

  * `GetUserCombinedInfo`
  * `GetFriendLeaderboardAroundCurrentUser`
  * `GetLeaderboardAroundCurrentUser`
  * `GetUserStatistics`
  * `UpdateUserStatistics`
  * `LogEvent`
  * `GetCloudScriptUrl`
  * `RunCloudScript`

* **Server 字段**

  * `GetPlayFabIDsFromSteamIDsRequest.SteamIDs`
  * `SteamPlayFabIdPair.SteamId`

* **Server 数据类型**

  * `GetUserStatisticsRequest`
  * `GetUserStatisticsResult`
  * `LogEventRequest`
  * `LogEventResult`
  * `UpdateUserStatisticsRequest`
  * `UpdateUserStatisticsResult`

* **Server API**

  * `GetUserStatistics`
  * `UpdateUserStatistics`
  * `LogEvent`

### API 变更

* **新增 API**
  * [Admin/BanUsers](xref:titleid.playfabapi.com.admin.accountmanagement.banusers)
  * [Admin/GetUserBans](xref:titleid.playfabapi.com.admin.accountmanagement.getuserbans)
  * [Admin/RevokeAllBansForUser](xref:titleid.playfabapi.com.admin.accountmanagement.revokeallbansforuser)
  * [Admin/RevokeBans](xref:titleid.playfabapi.com.admin.accountmanagement.revokebans)
  * [Admin/UpdateBans](xref:titleid.playfabapi.com.admin.accountmanagement.updatebans)
  * [Admin/DeleteStore](xref:titleid.playfabapi.com.admin.title-widedatamanagement.deletestore)
  * [Server/BanUsers](xref:titleid.playfabapi.com.server.accountmanagement.banusers)
  * [Server/GetUserBans](xref:titleid.playfabapi.com.server.accountmanagement.getuserbans)
  * [Server/RevokeAllBansForUser](xref:titleid.playfabapi.com.server.accountmanagement.revokeallbansforuser)
  * [Server/RevokeBans](xref:titleid.playfabapi.com.server.accountmanagement.revokebans)
  * [Server/UpdateBans](xref:titleid.playfabapi.com.server.accountmanagement.updatebans)
  * [Server/GetRandomResultTables](xref:titleid.playfabapi.com.server.playeritemmanagement.getrandomresulttables)

* **新增 PlayStream 事件**

  * [player\_tag\_added](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/PlayerIdentity/player-tag-added.md)
  * [player\_tag\_removed](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/PlayerIdentity/player-tag-removed.md)
  * [title\_catalog\_updated](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/CatalogV1/title-catalog-updated.md)
  * [title\_store\_updated](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/CatalogV1/title-store-updated.md)

### 全局 SDK 变更

* SDK 附带的示例项目均已更新，不再使用已弃用的 API。
* 有几个 SDK 包含描述 API 已弃用元素的编译器警告和/或注释。
* [PostmanCollection](https://github.com/PlayFab/PostmanCollection) 的内部格式略有变化。同时加载多个未来版本的 [PostmanCollection](https://github.com/PlayFab/PostmanCollection) 会不太方便 (你会收到有关重复 ID 的警告)。

### ActionScriptSDK 特定变更

* [ActionScriptSDK](https://github.com/PlayFab/ActionScriptSDK)
  * 将示例项目中的 Adobe AirSdk 从版本 18 更新到了 22。

## 160815

日期：2016 年 8 月 14 日

### Unreal 升级警告

升级到 Unreal 4.12 所需的语法变更
ZKShao 在帮助解决这些问题的拉取请求中对此做了最好的描述：`<https://github.com/PlayFab/UnrealCppSdk/pull/32>`

### API 变更

* 小幅文档更新。

* **新增 PlayStream 事件：**

  * [player\_statistic\_deleted](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/Leaderboards/player-statistic-deleted.md)
  * [player\_unlinked\_account](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/PlayerIdentity/player-unlinked-account.md)

~~**UnrealCppSdk 和 UnrealBlueprintSdk 特定变更：**~~ (已更新：这些 SDK 已弃用。有关新的 Unreal SDK，请参阅 [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))

* ~~已更新以支持 Unreal 4.12~~
* ~~遗憾的是，由于要求冲突，这需要放弃对 Unreal 4.11.x 的支持~~
* ~~继续保持对 Unreal 4.9 的支持~~

### UnitySDK 特定变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 实时连接的 Pre-Alpha 版本：使用 SignalR 让自定义游戏服务器订阅实时 PlayStream 事件
  * 游戏服务器可以开始测试为 PlayStream 事件注册回调，并实时做出响应
  * PlayFabSDK 在 Android 上不再需要权限。(WP8 和 iOS 仍需要在生成设置中启用 Internet)
  * 逐步引入针对过时 API 的弃用警告。
  * 这些警告之后将变为弃用错误，并最终从 SDK 中删除。
  * 一些压缩相关的 bug 修复
  * PlayFabSdk 现在可在 Unity 5.0 中工作
  * 修复了特定旧版 Unity 上的特定设备问题，并扩展了内部测试
  * 更新了 UUnit 测试框架，使其在异步测试超时时能正确显示
  * 我们的资产包使用 Unity 5.4 生成

## 160801

日期：2016 年 7 月 31 日

### API 变更

* **新增 API**

  * [RemoveVirtualCurrencyTypes](xref:titleid.playfabapi.com.admin.title-widedatamanagement.removevirtualcurrencytypes)
  * [GetAllSegments](xref:titleid.playfabapi.com.admin.playstream.getallsegments)
  * [GetPlayerSegments](xref:titleid.playfabapi.com.admin.playstream.getplayersegments)
  * [GetPlayersInSegment](xref:titleid.playfabapi.com.admin.playstream.getplayersinsegment)
  * [GetPlayerCombinedInfo](xref:titleid.playfabapi.com.server.playerdatamanagement.getplayercombinedinfo)
  * [GetAllSegments](xref:titleid.playfabapi.com.server.playstream.getallsegments)
  * [GetPlayerSegments](xref:titleid.playfabapi.com.server.playstream.getplayersegments)
  * [GetPlayersInSegment](xref:titleid.playfabapi.com.server.playstream.getplayersinsegment)

* **新增 PlayStream 事件**

  * ~~\[session\_started]~~(已更新：此项已弃用。请参阅 [Lobby-Matchmaking-Messages](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/lobby/lobby-and-matchmaking-real-time-messages.md))
  * ~~\[session\_ended]~~(已更新：此项已弃用。请参阅 [Lobby-Matchmaking-Messages](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/lobby/lobby-and-matchmaking-real-time-messages.md))
  * 小幅文档更新。

## 160726

日期：2016 年 7 月 25 日

### UnitySDK 修补程序变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 针对旧版 Unity 上特定设备的修复。
  * 修复了被错误标记为 `PlayFabResultCommon` 而非 `PlayFabRequestCommon` 的特定 `AdminApi` 模型类。
  * 已知问题：使用 PlayFab UnitySdk 时，对于 5.3 之前的 Unity 版本，Google advertisingID 和 iOS IDFA 不再能正确归因。
  * 最简单的解决方法是升级 Unity3D 版本，但我们会尝试在 SDK 的后续版本中恢复此功能。

## 160725

日期：2016 年 7 月 24 日

### API 变更

* **新增 PlayStream 事件**

  * [display\_name\_filtered](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/Partner/display-name-filtered.md) (文档即将推出)。

  * 更新了一些 API 示例。

  * 大量小幅文档更新。

### UnitySDK 特定变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 引入了 `PlayFabRequestCommon base-class`，它会对传递给 API 的请求对象执行编译时类型检查 (除非用户使用非标准请求对象，否则这不会影响任何用户)。

  * 修复了一些用户报告的启动时空引用 bug。

  * 修复了一些用户报告的 `PlayFabSharedSettings` `ScriptableObject` 中 `ProductionEnvironmentUrl` 的问题。

## 160721

日期：2016 年 7 月 20 日

### UnitySDK 修补程序变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * Unity 4.7 在该版本的限制范围内再次可用

  * 修复了社区中许多人注意到的一系列影响明显的小问题。

  * UnitySDK V2 曾承诺完全支持 Windows Phone/Universal (以及主机等其他平台)。我们很高兴地宣布，所有已知平台上的所有已知问题终于都已修复，PlayFab UnitySdk 应可在所有平台上运行。

  * 由于 Unity 中出现意外的副作用，我们无法将 `HideAndDontSave` 标志应用于 PlayFab Http 对象。[详细信息](https://answers.unity.com/questions/1218422/hideanddontsave-disables-ondestroy.html)。

  * 我们为反射添加了一组扩展函数，使标准 C# 和 .NET Core C# 在可能的情况下能够用相同的代码行执行相同的操作。此扩展并非旨在完整解决这些平台之间所有可能的反射不一致问题。

## 160714

日期：2016 年 7 月 13 日

### UnitySDK 升级警告

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 我们已为 [UnitySDK](https://github.com/PlayFab/UnitySDK) 发布了一个新的主要修订版。(更新：升级指南已过时)。

### API 变更

* 现在，通过 Admin Api 授予物品时，可以在物品上设置 CustomData：[GrantItemsToUsers](xref:titleid.playfabapi.com.admin.playeritemmanagement.grantitemstousers)，具体而言：[ItemGrant](xref:titleid.playfabapi.com.admin.playeritemmanagement.grantitemstousers#itemgrant)。

* **Twitch 登录集成！以及 API：**
  * [LoginWithTwitch](xref:titleid.playfabapi.com.client.authentication.loginwithtwitch)
  * [LinkTwitch](xref:titleid.playfabapi.com.client.accountmanagement.linktwitch)
  * [UnlinkTwitch](xref:titleid.playfabapi.com.client.accountmanagement.unlinktwitch)
  * [GetPlayFabIDsFromTwitchIDs](xref:titleid.playfabapi.com.client.accountmanagement.getplayfabidsfromtwitchids)

* **新增 PlayStream 事件：**
  * [title\_exceeded\_limit](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/Extension/title-exceeded-limit.md)
  * [title\_limit\_changed](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/Extension/title-limit-changed.md)
  * [title\_requested\_limit\_change](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/Title/title-requested-limit-change.md)

### LumberyardSDK 特定变更

* 已更新到 Lumberyard 1.3

### UnitySDK 特定变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * [UnitySdk](https://github.com/PlayFab/UnitySDK) 的一个新的主要修订版即将发布 (希望是今天)。
  * 原始 UnitySdk 在有限时间内可在此处获取 \[更新：已删除旧链接]。
  * [UnitySdk](https://github.com/PlayFab/UnitySDK) 第二版目前可在此处获取：UnitySDKV2Beta \[更新：已删除旧链接]，并将很快成为新的 [UnitySdk](https://github.com/PlayFab/UnitySDK) \[更新：已完成]。

## 160705

日期：2016 年 7 月 4 日

### API 变更

* **新增 API**
  * [GetPlayerCombinedInfo](xref:titleid.playfabapi.com.client.accountmanagement.getplayercombinedinfo)
  * 大量更新的说明。
  * 更新了所有登录调用，使其可以选择返回 [GetPlayerCombinedInfo](xref:titleid.playfabapi.com.client.accountmanagement.getplayercombinedinfo#getplayercombinedinforesultpayload) 结果。
  * `GetUserCombinedInfo` API 即将弃用，改用 [GetPlayerCombinedInfo](xref:titleid.playfabapi.com.client.accountmanagement.getplayercombinedinfo)。

### UnitySDK 特定变更

* 恢复了使用 `PlayFabSettings.RequestType = WebRequestType.UnityWww` 执行的 API 请求的 GZip 压缩模式；

* 向 `SimpleJson` 添加了 `JsonProperty` 特性，支持字段/属性的替代命名，以及从序列化的 json 中省略 null。

* 使用默认的 PlayFab `SimpleJson` 策略时，TimeSpan 将序列化为以秒为单位的浮点数。以前，它们被序列化为结构，而 API 或任何跨平台选项都不支持结构。

* 在 [https://github.com/PlayFab/UnitySDK/blob/master/V2UPGRADE.md](https://github.com/PlayFab/UnitySDK/blob/master/V2UPGRADE.md) 上线之前，不支持使用 Mono2x 模式生成的某些平台 (例如：主机、iOS)。

* 在 [https://github.com/PlayFab/UnitySDK/blob/master/V2UPGRADE.md](https://github.com/PlayFab/UnitySDK/blob/master/V2UPGRADE.md) 上线之前，不支持 Windows Universal。

* 有关详细信息，请参阅此博客文章：[https://blog.playfab.com/blog/new-and-improved-unity-SDK-beta-preview](https://blog.playfab.com/blog/new-and-improved-unity-SDK-beta-preview)
  (独立版和 Android 可正常工作，并且所有选项均受支持)

* 所有可以使用 IL2CPP 的平台在该模式下均受支持。

* 此版本最初发布时存在压缩无法始终正常工作的问题。该问题已于 7 月 8 日通过修补程序修复。在此日期之前的初始下载可能存在压缩问题，可以通过更新或禁用压缩来解决：(PlayFabSettings.CompressApiData = false;)

## 160627

日期：2016 年 6 月 26 日

### UnitySDK 升级警告

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 将 `PlayFab.Internal.Util` 重命名为 `PlayFab.Internal.PlayFabUtil`。“Util”这一名称很常见，并且存在于许多项目的根级别，这会给这些客户造成名称冲突。

  * 更新 PlayFab-UnitySdk 时，如果你使用的是 PlayFab 的 SimpleJson 实现，可能会看到一些弃用警告。你可以在方便时解决这些警告。

### API 变更

* **新增 Admin API**

  * [GetTitleInternalData](xref:titleid.playfabapi.com.admin.title-widedatamanagement.gettitleinternaldata)
  * [SetTitleInternalData](xref:titleid.playfabapi.com.admin.title-widedatamanagement.settitleinternaldata)

* **新增 PlayStream 事件**

  * [character\_consumed\_item](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/Character/character-consumed-item.md)
  * [character\_created](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/PlayerIdentity/character-created.md)
  * [character\_inventory\_item\_added](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/Character/character-inventory-item-added.md)
  * [character\_statistic\_changed](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/Leaderboards/character-statistic-changed.md)
  * [character\_vc\_item\_purchased](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/Character/character-vc-item-purchased.md)
  * [character\_virtual\_currency\_balance\_changed](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/Character/character-virtual-currency-balance-changed.md)
  * [player\_redeemed\_coupon](https://docs.xbox.com/zh-CN/services/playfab/api-references/events/Player/player-redeemed-coupon.md)

### UnitySDK 特定变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 已知问题：Windows 应用商店应用和非 IL2CPP 生成选项尚无法工作。请留意有关这些问题和我们新存储库的博客文章：UnitySDKV2Beta \[更新：已删除旧链接]。
  * 我们发现与核心 `UnityEngine` DLL 存在名称冲突，具体来说是一个名为 `SimpleJson` 的空命名空间。因此，我们不得不再次重命名并重新组织 JSON 类。非常抱歉。

## 160613

日期：2016 年 6 月 12 日

### 全局 SDK 升级警告

* PlayFabSettings 和 PlayFabVersion：已将这两个文件及其内容合并到 PlayFabSettings 中。
* 如果你以前引用了 PlayFabVersion 变量，请更新为 PlayFabSettings 中的类似变量。

### API 变更

* **新增 API**

  * ~~**SetGameServerInstanceData**~~(已更新：此项已弃用。请参阅 [Servers](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/servers/index.md))
* **API 的 bug 修复：**
  * ~~**Server/SetGameServerInstanceState**~~(已更新：此项已弃用。请参阅 [Servers](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/servers/index.md))
  * ~~**Client/GetCurrentGames**~~(已更新：此项已弃用。请参阅 [Servers](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/servers/index.md))

### SDK 全局变更

* 我们自 2016 年 3 月起已弃用 `RunCloudScript`，它很快将从 SDK 中删除。请尽快转换为 [ExecuteCloudScript](xref:titleid.playfabapi.com.client.server-sidecloudscript.executecloudscript)。

* 请留意一篇关于我们称为 Jenkernaught 的内部测试系统的博客文章。我们的示例项目包含一些面向更深入测试的变更，以提高 SDK 的稳定性和可靠性。一些具体内容：

* 由于 RunCloudScript 已弃用，已将 CloudScript 的所有测试和示例更新为 [ExecuteCloudScript](xref:titleid.playfabapi.com.client.server-sidecloudscript.executecloudscript)。

* 已将所有成功登录的测试和示例更新为 `LoginWithCustomID`，以便于内部测试。

### Cocos2d-xSDK 特定变更

* [Cocos2d-xSDK](https://github.com/PlayFab/Cocos2d-xSDK)
  * `MultitypeVar` 可以包含 `PlayFabBaseModel`，用于编写请求对象。它仍无法接收任意 json 对象作为结果。
  * 首个带版本号的版本。

~~**UnrealBlueprintSdk 特定变更：**~~ (已更新：此 SDK 已弃用。有关新的 Unreal SDK，请参阅 [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))

* ~~从大量标头注释中删除了版本信息，以避免产生大量冗余签入 (因此，这是最后一次冗余签入)~~
* ~~现在会提供一个之前缺失的 http 标头。~~

## 160606

日期：2016 年 6 月 5 日

### 全局 SDK 升级警告

为了在所有 SDK 之间保持一致，我们将 `sdkRevision` 变量重命名为 `sdkVersion` ([ActionScriptSDK](https://github.com/PlayFab/ActionScriptSDK)、[JavaSDK](https://github.com/PlayFab/JavaSDK)、[UnitySdk](https://github.com/PlayFab/UnitySDK))。
如果你以前访问的是 `sdkRevision`，请改用 `sdkVersion`。

### API 变更

* 一些文档更新，并改进了错误通知。

### SDK 全局变更

* 朝着弃用 `RunCloudScript` 又迈进了几步，因此客户应计划将实时项目迁移到 [ExecuteCloudScript](xref:titleid.playfabapi.com.client.server-sidecloudscript.executecloudscript)。

* 在内部，我们针对所有 SDK 改进多平台测试的工作已完成一半。[SDKGenerator](https://github.com/PlayFab/SDKGenerator) 用户可能会发现对 `Jenkernaught` 和 `buildIdentifier` 的引用。`Jenkernaught` 是实现这一改进的平台测试的技术代号。`buildIdentifier` 是所有 SDK 中的一个新变量，指示生成特定 SDK 版本的具体 PlayFab-Jenkins 作业。

* 将会有一篇博客文章介绍 `Jenkernaught` 的作用，以及此处省略的更详细的测试框架变更，敬请期待。

### ActionScriptSDK 特定变更

* [ActionScriptSDK](https://github.com/PlayFab/ActionScriptSDK)
  * 示例/测试项目中与 `Jenkernaught` 相关的 `ASyncUnitTest` 框架变更。

### CSharpSDK 特定变更

* [CSharpSDK](https://github.com/PlayFab/CSharpSDK)
  * 为了与 UnitySDK 保持一致，我们将特定于 json 的代码从 `PlayFabSettings` 移到了 `PlayFabUtil`。我们还扩展了 `PlayFabUtil`，使其功能更接近 UnitySDK。
  * 改进了其余 `PlayFabSettings` 选项中的文档，使其更加清晰。
  * 示例/测试项目中与 `Jenkernaught` 相关的 Unit 框架变更。

### JavaScriptSDK 特定变更

* [JavaScriptSDK](https://github.com/PlayFab/JavaScriptSDK)
  * 向 `PlayFabClientSDK: IsClientLoggedIn()` 添加了一个实用工具函数。使用它来确定此条件。
  * 示例/测试项目中与 `Jenkernaught` 相关的小幅测试变更。

### NodeSDK 特定变更

* [NodeSDK](https://github.com/PlayFab/NodeSDK)
  * 向 `PlayFabClientSDK: IsClientLoggedIn()` 添加了一个实用工具函数。使用它来确定此条件。
  * 示例/测试项目中与 `Jenkernaught` 相关的小幅测试变更。

### UnitySDK 特定变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 修复了一个严重 bug：更改场景后 PlayFab API 调用会停止工作。
  * 调整了时间戳格式的默认值，使其与其他 PlayFab SDK 保持一致。
  * 在 Unity 5.3 或更高版本中，Windows-Phone 和 Windows-Universal 仍存在问题，我们希望能尽快修复。

## 160523

日期：2016 年 5 月 22 日

### 全局 SDK 升级警告

保存带版本数据的各种 API (UserData、CharacterData 等) 的数据类型从 int 更改为 uint。这要求某些用户在我们的 API 以前不一致的地方删除/更改某些强制转换。某些开发人员可能需要将一些局部变量从 int 更改为 uint。

~~**UnrealBlueprintSdk 升级警告：**~~ ~~xcode 与某些 playfab 枚举之间存在命名冲突。因此，我们不得不再次修订蓝图枚举，这会破坏所有使用枚举的 PlayFab API 节点。在编辑器中的升级过程是删除并重新创建每个受影响的蓝图节点 (如果受影响，它们会引发编辑器内编译器警告)。~~ (已更新：此 SDK 已弃用。有关新的 Unreal SDK，请参阅 [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))

### API 变更

* 某些 `DataVersion` 变量使用了不一致的数据类型 (在不同 API 中为 int 和 uint)。为了保持一致，我们将所有这些变量都更改为 uint。

* 为与匹配相关的 API 添加了更多选项。

* 匹配器现在接受一个额外参数 (`StartNewIfNoneFound`)，使游戏能够确定在匹配过程中未找到结果时是否应启动新服务器。默认情况下，`StartNewIfNoneFound` 为 `true`，这意味着如果找不到符合要求的会话，将创建一个新会话。这使得采用基于技能的匹配的游戏可以“放宽”匹配要求，让技能水平处于钟形曲线两端的玩家更快地进入游戏。

* 使用 `GameInstanceState` 更新了自定义游戏服务器逻辑，它决定游戏会话是否可用于匹配。处于 `Closed` 状态的游戏不可用于匹配，这使开发人员能够创建特定于一组玩家的游戏会话，并防止在游戏会话开始后加入正在进行的游戏会话。默认情况下，游戏服务器以 Open 状态启动。

* -~~新增 API：服务器可以使用 `SetGameServerInstanceState` 调用设置其状态，并且在调用 `ModifyMatchmakerGameModes` 时使用的 `GameModeInfo` 中添加了 `StartOpen`，以便指定游戏模式中的会话是以 `Open` (默认值) 还是 `Closed` 状态启动。~~(已更新：此项已弃用。请参阅 [Servers](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/servers/index.md))

~~**UnrealBlueprintSdk 特定变更：**~~ (已更新：此 SDK 已弃用。有关新的 Unreal SDK，请参阅 [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))

* ~~内部 SDK 更新，使从 C++ 执行和处理 API 调用更加容易。~~
* ~~添加了一个内部测试套件，可在所有目标设备上全面验证 PlayFab 功能。(仅限示例项目，不包括核心插件)~~
* ~~大量 C++ 代码清理，并改进了日志记录和警告。~~
* ~~解决了 Blueprints 和 C++ 调用中多个同步 API 调用的并发问题。~~

## 160502

日期：2016 年 5 月 1 日

### 全局 SDK 升级警告

如果你以前设置了 `ConfirmationMessage` 和 `ForceLink` 字段，请将其删除。

### API 变更

* 新增 Admin API：
  * ~~**SetStoreSegmentOverrides**~~ (更新：此 API 已删除)
  * 一些已弃用的字段和内部字段不再随 SDK 发布：ConfirmationMessage 和 ForceLink。

~~**UnrealBlueprintSdk 特定变更：**~~ (已更新：此 SDK 已弃用。有关新的 Unreal SDK，请参阅 [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))

* ~~修订了自述文件和示例项目，以使用更简单的登录过程和新的更简单的 ExecuteCloudScript 方法。~~
* ~~出现 API 错误时，该错误的详细信息会更准确地报告，并显示更好的调试信息。~~
* ~~我们将移除 Unreal SDK 的“Beta”标记，它们现在是我们 SDK 集合中的正式成员，享有全面支持和质量检查。~~

## 160425

日期：2016 年 4 月 24 日

~~**UnrealBlueprintSdk 升级警告：** 许多具有枚举字段的蓝图 API 调用必须更新以使用枚举下拉列表。旧值将丢失，必须重新设置。这会影响数十个 PlayFab 蓝图节点。~~ (已更新：此 SDK 已弃用。有关新的 Unreal SDK，请参阅 [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))&#x20;

### API 变更

* 大量文档更新。
* 修复了 `AndroidDevicePushNotificationRegistrationRequest` 中的拼写错误。
* 新增 Server API：
  * [EvaluateRandomResultTable](xref:titleid.playfabapi.com.server.playeritemmanagement.evaluaterandomresulttable)

### Cocos2d-xSDK 特定变更

* [Cocos2d-xSDK](https://github.com/PlayFab/Cocos2d-xSDK)
  * 全面改进了 Cocos SDK。
  * 新的测试框架，转换了内部 Http 功能。
  * Android、iOS 和 Win32 平台均可正常工作。
  * 大量其他小修复和改进。

~~**UnrealBlueprintSdk 特定变更：**~~ (已更新：此 SDK 已弃用。有关新的 Unreal SDK，请参阅 [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))

* ~~UnrealBlueprintSdk 即将结束其有限支持的 Beta 期。因此，接下来的几个版本中可能会有一些潜在的中断性变更。~~
* ~~Api 规范中有一些定义为枚举的数据字段。以前，UnrealBlueprintSdk 将这些字段显示为任意字符串，并要求用户输入正确的选项。此问题已修复。所有这些字段在蓝图中均已转换为枚举下拉列表。~~

## 160414

日期：2016 年 4 月 13 日

### API 变更

* PlayStream API 现已在 SDK 中提供。
* 一些文档修订。

### UnitySDK 特定变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 更多自动化测试，以提高 SDK 的稳定性 (以及一些相关的 bug 修复)
  * 具体而言，新增了一个 PlayStream 测试，并使测试在所有 SDK 之间更加一致。

## 160328

日期：2016 年 3 月 27 日

### API 变更

* 对新的可重置排行榜和其他玩家统计数据调整进行了小幅增量改进。

* 对通过 Admin-API 上传 CloudScript 的方式进行了小幅修订。

* 继续在需要时修订和定义 API 限制和超额定义。

* 从一些从未使用 "PlayFabId" 值的 Client API 文档中删除了该输入。

* 大量小幅文档更新。

* 新增 `ExecuteCloudScript` API，取代了旧的 `GetCloudScriptUrl+RunCloudScript` 模式。

* 这应该能让新手用户更容易地正确调用 CloudScript。

### Cocos2d-xSDK 特定变更

* [Cocos2d-xSDK](https://github.com/PlayFab/Cocos2d-xSDK)
  * 更新了项目文件夹结构，使其在所有平台上保持一致。
  * 这修复了 iOS 生成无法导入某些代码文件的问题。
  * Cocos 现已在 Win32 和 iOS 上经过测试并可正常工作。

### UnitySDK 特定变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 修复了导致 `ReadAllText` 函数出错的不一致 `#define` 选项。
  * 已知问题 (未解决)：使用 Player Setting 脚本后端选项 `Mono2x` 时，`SimpleJson` 无法正确序列化。在此问题修复之前，请尽可能使用 `IL2CPP`。
  * (为 PlayStation® 生成时可能存在类似问题。)

“PlayStation”是 Sony Interactive Entertainment Inc. 的注册商标或商标。

## 160307

日期：2016 年 3 月 6 日

### API 变更

* 添加了 `Server.GetPlayFabIDsFromSteamIDs`。

* 修复了 `Server.GetPlayerStatistics` 中的一个小 bug。

### UnitySDK 特定变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 为针对多个目标进行生成而进行的小幅 SDK 重构。

### WindowsSDK 和 Cocos2d-xSDK 特定变更

* WindowsSDK 和 [Cocos2d-xSDK](https://github.com/PlayFab/Cocos2d-xSDK)
  * 为针对多个目标进行生成而进行的小幅 SDK 重构。
  * 重命名了若干类型，使其与其他 SDK 更加一致。

### SDK 新增内容

* ~~Amazon 的 LumberyardSdk 现已推出！~~

## 160222

日期：2016 年 2 月 21 日

### API 变更

* 添加了 `Server.GetPlayFabIDsFromSteamIDs`。

* 修复了 `Server.GetPlayerStatistics` 中的一个小 bug。

* 修复了 `Server.UpdatePlayerStatistics` 中的一个小 bug。

### CSharpSDK 特定变更

* [CSharpSDK](https://github.com/PlayFab/CSharpSDK)
  * 更新了测试工具中的帮助程序函数签名。

  * 更新了 Server CloudScript 帮助程序类。

### UnitySDK 特定变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 更新了测试工具中的帮助程序函数签名。
  * 添加了结构性变更，将我们的内部 JSON 序列化程序从 JSON.NET 切换为 SimpleJson (这是为了支持 Universal Windows 生成)。

## 160215

日期：2016 年 2 月 14 日

### API 变更

* 可重置排行榜和玩家统计数据现已上线。

* `GetPlayFabIDsFromSteamIDs` 接受并返回字符串 ID，以适用于无法处理 ulong 值的语言。

* 为支持 Parse 迁移而进行的小幅变更。

* 小幅文档调整。

## 160208

日期：2016 年 2 月 7 日

### API 变更

* `SteamID` 类型已从 `Uint32` 更新为 `Uint64`。

* **新增的 API**
  * `server.UnlockContainerInstance`
  * `server.UnlockContainerItem`
  * `server.UnlockContainerItem`
  * `server.UnlockContainerInstance`

* 添加了 `admin.StatisticResetIntervalOption`，用于可重置排行榜。

### UnitySdk 特定变更

* [UnitySdk](https://github.com/PlayFab/UnitySDK)
  * 稍微修改了项目文件夹结构，这可能会导致一些文件冲突。有关详细信息，请参阅此[论坛帖子](https://community.playfab.com/questions/321/206711137-Best-way-to-update-the-PlayFab-Unity-SDK-.html)。

## 160201

日期：2016 年 1 月 31 日

### API 变更

* **新增 API**
  * `server.ConsumeItem`
  * SteamID 类型已从 `Uint64` 更新为 `Uint32`。
  * `GetContentListResult` ItemCounts 已从 `Int64` 更新为 `Int32`。

### UnitySDK 特定变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 添加了一个新的事件回调系统，用于监视 PlayFab API 请求和响应。

## 160125

日期：2016 年 1 月 24 日

### API 变更

* **新增 API**
  * `Client.GetPlayFabIDsFromKongregateIDs`
  * `Client.GetCharacterStatistics`
  * `Client.UpdateCharacterStatistics`
  * `Server.RevokeInventoryItem`
  * 修复了 `PurchaseItem___` -> `PurchaseItem___` 中的拼写错误。
  * 更新了 `UserAccountInfo`，使其包含更多帐户详细信息。

~~**UnrealBlueprintSdk 特定变更：**~~ (已更新：此 SDK 已弃用。有关新的 Unreal SDK，请参阅 [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))

* ~~修复了导致登录后的后续调用无法工作的 Client 问题。~~

## 160118

日期：2016 年 1 月 17 日

### API 变更

* 新的排行榜 API 现已推出：
  * `GetLeaderboardAroundPlayer`
  * `GetFriendLeaderboardAroundPlayer`
* 旧的排行榜 API 已弃用：
  * `GetFriendLeaderboardAroundCurrentUser`
  * `GetLeaderboardAroundCurrentUser`
* 大量小幅文档改进。

### ActionScriptSDK 特定变更

* [ActionScriptSDK](https://github.com/PlayFab/ActionScriptSDK)
  * 修复了在错误回调中无法访问 errorDetails 的问题。

### JavaSDK 特定变更

* [JavaSDK](https://github.com/PlayFab/JavaSDK)
  * `AndroidStudioExample`：会在适当的时候 (且仅在适当的时候) 自动获取 Android `advertisingId` 并将其发送到 PlayFab。

### UnitySDK 特定变更

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 从公共 SDK 中删除了一些内部测试系统 (DemoScene 文件夹)。
  * 我们正在制作新示例和事件系统的原型。一些底层 SDK 变更在差异中可见，但目前还无法访问其中任何内容。敬请期待，它即将完成。
  * 客户端上提供了单元测试的替代版本，其中仅包含客户端 API 调用。

### Cocos2d-xSDK 和 WindowsSDK/C++ 特定变更

* [Cocos2d-xSDK](https://github.com/PlayFab/Cocos2d-xSDK) 和 WindowsSDK/C++
  * 将两者都更新为使用 RapidJson 1.0.2 (相关的 C++ 语法和代码)
  * 其他一些修复，包括 IOS
  * 由 [https://mingle-games.com/](https://mingle-games.com/) 提供
