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

> PlayFab Services SDK 2016 年发布说明,列出了当年发布中推出的 SDK 更新、新增 API、功能新增和 bug 修复。

## 161121

日期:2016 年 11 月 20 日

### API 更改

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

### 新 API

* Client API Policy 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](/zh-CN/services/playfab/api-references/events/ApiAccessPolicy/title-permission-policy-changed)

### 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`
  * 应接收物品的 Character 的可选标识符。如果为 `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)。
* 根据此博客[Deprecation Visibility](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](/zh-CN/services/playfab/multiplayer/lobby/lobby-and-matchmaking-real-time-messages))
  * ~~`gamelobby_ended`~~(已更新:此功能已弃用。请参阅 [Lobby-Matchmaking-Messages](/zh-CN/services/playfab/multiplayer/lobby/lobby-and-matchmaking-real-time-messages))
  * [Client/AttributeInstall](xref:titleid.playfabapi.com.client.advertising.attributeinstall) 请求已弃用 `Android_Id` 并转换为 `Adid`。所有 SDK 都更新了一些内部登录钩子以适应这一变化。这不是破坏性更改,因为其目的是使用 Google-AdvertisingId (Adid),在此处使用 Android DeviceId 不能正常工作。此更改是为了清晰和一致
  * 对于 GitHub 附加组件,CloudScript 的修订版本不再立即上线。而是创建一个新修订版本,然后通过 Game Manager 使其上线
  * 此文档[CloudScript 快速入门](/zh-CN/services/playfab/live-service-management/service-gateway/automation/cloudscript/quickstart)中描述的默认 `helloWorld` CloudScript 函数已过时。已更新文档以更接近当前版本(这仅与新建游戏标题相关)

### API 服务器 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-server 同步的情况下构建其自定义 SDK,且步骤和依赖项更少。

## 161003

日期:2016 年 10 月 2 日

### API 更改

* **新 API**
  * Client/GetTime
  * Server/GetTime
  * Google OAuth 升级到 v3
  * 我们的文档站点搜索结果得到改进:[PlayFab 文档](/zh-CN/services/playfab/get-started)。

### 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 插件现在可从 Corona Marketplace 获得。
  * 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 Readme:[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 scriptable object 中启用压缩。

### WindowsSDK 相关问题

* 使用此仓库发布的 .lib 文件现在比 GitHub 最大文件大小限制更大。
* 最新版本没有更新的 lib 文件,我们已开始考虑替代方案。

## 160919

日期:2016 年 9 月 18 日

### 用于支付的新 API

* 我们正在扩展 Payments 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](/zh-CN/services/playfab/multiplayer/servers))

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

我们引入了 segment tags,它提供了一种将玩家直接放入特定段的方法。你现在可以为每位玩家添加一个或多个 segment tag。然后,在创建段时,你可以根据 segment tag 定义该段。

Segment Tags 的一个预期用途是与外部分析提供商(如 Appuri)集成。外部分析提供商可以执行自己的高级分段,例如 "Likely to Churn",然后为匹配该段的玩家设置标签。
发布了所有当前的弃用更改。有关详细信息,请参阅我们的博客文章:[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 方法中的失败情况:某些抛出异常的情况现在能正确报告给 error-callback(例如无网络连接的 Web-Requests),其他情况将更好的信息报告给 error-callback。

~~**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/)。

### 弃用通知

* **Admin 字段**

  * `UpdateCloudScriptRequest.Version`

* **Client 字段**

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

* **Client DataTypes**

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

* **Client APIs**

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

* **Server 字段**

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

* **Server DataTypes**

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

* **Server APIs**

  * `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](/zh-CN/services/playfab/api-references/events/PlayerIdentity/player-tag-added)
  * [player\_tag\_removed](/zh-CN/services/playfab/api-references/events/PlayerIdentity/player-tag-removed)
  * [title\_catalog\_updated](/zh-CN/services/playfab/api-references/events/CatalogV1/title-catalog-updated)
  * [title\_store\_updated](/zh-CN/services/playfab/api-references/events/CatalogV1/title-store-updated)

### 全局 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 在协助解决问题的 pull request 中做了最佳描述:`<https://github.com/PlayFab/UnrealCppSdk/pull/32>`

### API 更改

* 小文档更新。

* **新 PlayStream 事件:**

  * [player\_statistic\_deleted](/zh-CN/services/playfab/api-references/events/Leaderboards/player-statistic-deleted)
  * [player\_unlinked\_account](/zh-CN/services/playfab/api-references/events/PlayerIdentity/player-unlinked-account)

~~**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)
  * 实时连接的预 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](/zh-CN/services/playfab/multiplayer/lobby/lobby-and-matchmaking-real-time-messages))
  * ~~\[session\_ended]~~(已更新:此功能已弃用。请参阅 [Lobby-Matchmaking-Messages](/zh-CN/services/playfab/multiplayer/lobby/lobby-and-matchmaking-real-time-messages))
  * 小文档更新。

## 160726

日期:2016 年 7 月 25 日

### UnitySDK 热修复更改

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

## 160725

日期:2016 年 7 月 24 日

### API 更改

* **新 PlayStream 事件**

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

  * 更新了一些 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](/zh-CN/services/playfab/api-references/events/Extension/title-exceeded-limit)
  * [title\_limit\_changed](/zh-CN/services/playfab/api-references/events/Extension/title-limit-changed)
  * [title\_requested\_limit\_change](/zh-CN/services/playfab/api-references/events/Title/title-requested-limit-change)

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

* TimeSpans 使用默认 PlayFab `SimpleJson` 策略序列化为浮点秒数。以前,它们序列化为结构体,这不受 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)
  (standalone 和 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](/zh-CN/services/playfab/api-references/events/Character/character-consumed-item)
  * [character\_created](/zh-CN/services/playfab/api-references/events/PlayerIdentity/character-created)
  * [character\_inventory\_item\_added](/zh-CN/services/playfab/api-references/events/Character/character-inventory-item-added)
  * [character\_statistic\_changed](/zh-CN/services/playfab/api-references/events/Leaderboards/character-statistic-changed)
  * [character\_vc\_item\_purchased](/zh-CN/services/playfab/api-references/events/Character/character-vc-item-purchased)
  * [character\_virtual\_currency\_balance\_changed](/zh-CN/services/playfab/api-references/events/Character/character-virtual-currency-balance-changed)
  * [player\_redeemed\_coupon](/zh-CN/services/playfab/api-references/events/Player/player-redeemed-coupon)

### UnitySDK 相关更改

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 已知问题:Windows Store 应用和非 IL2CPP 构建选项尚不工作。敬请关注有关这些问题和我们新仓库的博客文章:UnitySDKV2Beta \[更新:旧链接已删除]。
  * 我们发现与核心 `UnityEngine` DLL 的命名冲突,具体来说是名为 `SimpleJson` 的空命名空间。因此,我们不得不再次重命名并重新组织我们的 JSON 类... 非常抱歉。

## 160613

日期:2016 年 6 月 12 日

### 全局 SDK 升级警告

* PlayFabSettings 和 PlayFabVersion:将这些文件及其内容合并到 PlayFabSettings。
* 如果你以前引用 PlayFabVersion 变量,请更新到 PlayFabSettings 中的类似变量。

### API 更改

* **新 API**

  * ~~**SetGameServerInstanceData**~~(已更新:此功能已弃用。请参阅 [Servers](/zh-CN/services/playfab/multiplayer/servers))
* **API 的 bug 修复:**
  * ~~**Server/SetGameServerInstanceState**~~(已更新:此功能已弃用。请参阅 [Servers](/zh-CN/services/playfab/multiplayer/servers))
  * ~~**Client/GetCurrentGames**~~(已更新:此功能已弃用。请参阅 [Servers](/zh-CN/services/playfab/multiplayer/servers))

### 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)
  * 修复了如果更改场景则 PlayFab API 调用停止工作的严重 bug。
  * 调整了时间戳格式的默认值,以与其他 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 以保持一致。

* 向与 Matchmaking 相关的 API 添加了更多选项。

* 匹配器现在采用额外的参数(`StartNewIfNoneFound`),它允许游戏标题确定如果匹配过程中未找到结果时是否应启动新服务器。默认情况下,`StartNewIfNoneFound` 为 `true`,这意味着如果找不到符合要求的会话,则创建新会话。这允许具有技能匹配的游戏标题可能会 "放松" 匹配要求,以更快地将技能水平在钟形曲线远端的玩家纳入游戏。

* 更新了自定义游戏服务器逻辑,其中包含 `GameInstanceState`,它决定游戏会话是否可用于匹配。处于 `Closed` 状态的游戏不可用于匹配,允许开发者创建特定于一组玩家的游戏会话,并防止在进行中的游戏会话开始后加入。默认情况下,游戏服务器以 Open 状态启动。

* -~~新 API:服务器可以使用 `SetGameServerInstanceState` 调用来设置其状态,并将 `StartOpen` 添加到用于调用 `ModifyMatchmakerGameModes` 的 `GameModeInfo` 中,以允许指定游戏模式中的会话开始时是 `Open`(默认值)还是 `Closed`。~~(已更新:此功能已弃用。请参阅 [Servers](/zh-CN/services/playfab/multiplayer/servers))

~~**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))

* ~~修订了 readme 和示例项目,以使用更简单的登录过程,以及新的更简单的 ExecuteCloudScript 方法。~~
* ~~发生 API 错误时,该错误的详细信息会更准确地报告并显示更好的调试信息。~~
* ~~我们从 Unreal SDK 中删除了 "Beta" 标记,它们现在是我们 SDK 集合的完整成员,具有完整的支持和质量检查。~~

## 160425

日期:2016 年 4 月 24 日

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

### API 更改

* 大量文档更新。
* 修复了 `AndroidDevicePushNotificationRegistrationRequest` 中的错别字。
* 新服务器 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 更改

* 新的可重置排行榜和其他 Player-Statistics 调整的小增量改进。

* 通过 Admin-API 上传 CloudScript 方式的小修订。

* 继续在需要的地方修改和定义 API 限制和超额定义。

* 从一些客户端 API 的文档中删除了 "PlayFabId" 输入,该 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 Scripting Back end 选项 `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)
  * 更新了测试工具中的 Helper Function 签名。

  * 更新了 Server CloudScript Helper 类。

### UnitySDK 相关更改

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * 更新了测试工具中的 Helper Function 签名。
  * 添加了结构性更改,以将我们的内部 JSON 序列化器从 JSON.NET 切换到 SimpleJson(这是为了启用 Universal Windows Builds)。

## 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)
  * 修复了 error-callbacks 中 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/)
