> ## 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 Services C/C++ SDK 发行说明

> PlayFab Services C/C++ SDK 发行说明。

这些发行说明适用于 **PlayFabCSdk**。有关其他 PlayFab Services SDK 的发行说明，请参阅[其他 Services SDK 发行说明](https://docs.xbox.com/zh-CN/announcements/playfab/release-notes.md)。

> [!NOTE]
>
> 有关服务版本和产品更新的发行说明，请参阅 [PlayFab 的公共 GitHub 存储库](https://github.com/PlayFab/PlayFab)中的[发行说明](https://github.com/PlayFab/PlayFab/releases)部分

## 2604.0.1

日期：2026 年 9 月 4 日

### 中断性变更

* 由于服务 API 已停用，移除了 `PFInventoryGetMicrosoftStoreAccessTokensAsync` 及其结果函数、请求类型和响应类型。
* 由于服务 API 已停用，移除了 `PFSegmentsServerGetPlayersInSegmentAsync` 及其结果函数和支持类型。
* 从 `PFAuthenticationGetEntityRequest` 中移除了已过时的 `entity` 成员。`PFAuthenticationGetEntityAsync` 现在为调用实体颁发令牌。
* 重命名了两个 Account Management 请求类型，以区分 Client 和 Server 模型：
  * `PFAccountManagementUnlinkAppleRequest` 现在为 `PFAccountManagementClientUnlinkAppleRequest`。
  * `PFAccountManagementUnlinkGameCenterAccountRequest` 现在为 `PFAccountManagementClientUnlinkGameCenterAccountRequest`。
* 移除了已停用的 `E_PF_COPILOT_DISABLED`、`E_PF_COPILOT_INVALID_REQUEST`、`E_PF_GET_PLAYERS_IN_SEGMENT_DEPRECATED` 和 `E_PF_GET_PLAYERS_IN_SEGMENT_RATE_LIMIT_EXCEEDED` 错误代码。
* 将 `PFGameSaveInitOptions` 的基础类型从 `uint32_t` 更改为 `uint64_t`。
* 向 `PFMultiplayerServerAzureVmSize` 添加了值。插入点之后的现有值具有新的数值表示形式，因此应用程序不应跨 SDK 版本持久保存或传输此枚举的数值。

### API 更新

* 向 `PFFriendsClientGetFriendsListRequest` 和 `PFFriendsServerGetFriendsListRequest` 添加了可选的 `namespaceWide` 成员。它包括尚未登录当前游戏的同一命名空间中的好友。
* 通过在相关的 Authentication、Account Management 和用户信息模型上新增 `authVersion`、`sandboxId` 和 `psnSandboxId` 成员，添加了对 PlayStation Network 身份验证版本和沙盒的支持。
* 向 `PFAccountManagementGetPlayFabIDsFromNintendoServiceAccountIdsRequest` 添加了 `issuer`。
* 通过 `includeStatistics` 以及新的 `PFStatisticColumn`、`PFStatisticColumnCollection` 和 `PFStatisticColumnCollectionDictionaryEntry` 类型，向实体配置文件添加了统计数据。
* 向 `PFStatisticsStatisticUpdate` 添加了 `aggregationTargetEntityKeys`，并添加了 `PFStatisticAggregationMethod` 枚举。
* 向 `PFInventoryRedemptionSuccess` 添加了 `expirationTimestamp`，向 `PFMultiplayerServerRequestPartyServiceResponse` 添加了 `region`，并添加了更多 Azure VM 大小。
* 为新的 PlayStation Network、Nintendo、Economy、Experiments、Statistics、Segments、实体成员资格、IP 地址和 Game Save 情况添加了服务错误代码。
* `PFEntityRegisterTokenRefreshedEventHandler` 现在接受可选的任务队列。
* 添加了 `E_PF_GAMESAVE_OPERATION_IN_PROGRESS`，用于因另一个互斥操作正在进行而被拒绝的 Game Save 操作。
* 添加了 `PF_GAMESAVE_MAX_SHORT_SAVE_DESCRIPTION_LENGTH`，它将可接受的简短存档描述的最大长度定义为 768 个字符。

### 运行时和平台更新

* 修复了在内部 HTTP 操作或事件管道刷新正在进行时 `PFUninitializeAsync` 挂起的问题。
* 在初始化期间将 SDK 版本添加到跟踪日志中。
* 更新了 `PlayFab::Wrappers::Exception::what()`，使其消息中包含 `HRESULT`。
* 在 iOS 和 macOS 上以默认可见性导出 `PF_API` 符号，并修复了使用 Apple Unified SDK 时的 macOS 启动崩溃问题。
* 修复了基于 Clang 的工具链上带大小的 `operator delete` 重写，以便遵循自定义内存挂钩。
* 更新了 GDK 项目，使其使用 GDK 2510 布局所需的 `x64` 项目平台，并添加了将项目重定向到 Visual Studio 2026 `v145` 工具集的支持。
* 将 Android `com.google.android.gms:play-services-games-v2` 依赖项固定为版本 21.0.0，以保持 `minSdkVersion 21` 兼容性。

### Game Save 更新

* 修复了非 PlayFab Blob 传输失败被报告为成功的问题。HTTP 失败现在会返回失败的 `HRESULT`，而不是允许针对未写入的 Blob 完成清单。
* 修复了与以下情况相关的数据丢失和同步问题：过时的扩展清单 URL、不完整的远程文件集、下载期间删除文件夹、缺少 `localstate.json`，以及为新存档创建标记文件。
* 修复了上传、锁定和冲突失败问题，包括无限重新锁定循环、过时的清单版本、不正确的基础版本链、冲突失败方选择、对不可重试服务错误的错误处理，以及删除目录后上传速度不必要地缓慢。
* 修复了共享 Game Save 上下文管理中的 GDK 内存损坏和争用问题，并添加了验证以防止扩展清单路径超出存档文件夹。
* 在同步进入 `Uploading` 状态时恢复了游戏对存档文件夹的写入权限。原始文件仅在 `PreparingForUpload` 期间为只读。
* 阐明了进度行为：`PFGameSaveFilesUiProgressCallback` 报告状态转换，而 `PFGameSaveFilesUiProgressGetProgress` 可通过轮询获取字节级进度。总数为零现在表示总数未知。
* 修复了 GRTS 取消和脱机行为，接受了 Unreal Engine 等引擎生成的正斜杠路径，并更正了多个 Windows 和 GDK 初始化、关闭、设备标识和存档加载失败问题。
* 修复了 Game Save 遥测错误识别 Steam Deck 设备的问题。

## 2504.0.0

日期：2025 年 4 月 22 日

* 将 JSON 解析从 rapidjson 迁移到 nlohmann::json，以提高安全性和可维护性。
* 解决了初始化 PFCore 时会覆盖游戏所设置的跟踪回调的问题。
* 更改了内存挂钩函数，添加了用于检索默认内存挂钩的新 API，并修改了现有内存分配函数以包含内存类型 ID。
* 修复了涉及多个客户端时与跟踪清理相关的 bug。
* 在 PlayFab.C 中启用了 PFAccountManagementSetDisplayNameAsync API。
* 为 nlohmann JSON 库引入了自定义内存分配，并为 new/delete 运算符引入了全局重写。

## 2410.0.0

日期：2024 年 10 月 4 日

* 向 GitHub 版本中添加了用于 Microsoft GDK 的公共标头、源代码和库
* HTTP 库 libHttpClient 现在在所有平台上都是动态库依赖项。
  必须将此库包含在游戏的发布包中，PlayFab Services 才能正常运行。
* 添加了 Leaderboards 和 Statistics 的公共预览版 API
* 向 PFAuthenticationLoginWithFacebookRequest 添加了可选参数 authenticationToken
* 添加了对新服务错误代码的支持
* 从 Economy API 的兑换响应中移除了 OfferId，改为添加新字段 MarketplaceAlternateId。
  调用方应改用新字段，而服务将继续同时返回这两个字段以保持向后兼容性。
* 解决了 PFFriendsExternalFriendSources 不允许多选的问题

## 2406.0.0

日期：2024 年 7 月 2 日

* 为 Linux 和 Android 的 **PFEventPipelineConfig** 添加了对可选 gzip 压缩的支持
* 添加了使用 **PFHttpSettings** 自动对响应进行 gzip 压缩（和解压缩）的支持
* 在尝试记录 XCurl 跟踪时启用打印截断
* 修复了各种静态代码分析警告

## 2403.0.0

日期：2024 年 2 月 28 日

* 发布了支持 Linux、Android、iOS 和 macOS 的新 SDK 投影。此版本公开的新 API 如下：

  * **对于 Android**：
    * LoginWithFacebook
    * ClientLinkGoogleAccount
    * ClientLinkGooglePlayGamesServicesAccount
    * ClientUnlinkGoogleAccount
    * ClientUnlinkGooglePlayGamesServicesAccount
    * ClientAndroidDevicePushNotificationRegistration
    * RedeemGooglePlayInventoryItems

  * **对于 iOS**：
    * LoginWithFacebook
    * ClientLinkApple
    * ClientUnlinkApple
    * ClientLinkGameCenterAccount
    * ClientUnlinkGameCenterAccount
    * ClientRegisterForIOSPushNotification
    * RedeemAppleAppStoreInventoryItems

* 添加了对事件管道中事件缓冲的支持。

## 2310.0.1

日期：2023 年 9 月 28 日

* 向 Win32 添加了 PFAccountManagementServerLinkNintendoServiceAccountSubjectAsync

## 2310.0.0

日期：2023 年 9 月 28 日

* 添加了对 Nintendo Switch 的支持（若要申请访问权限，请参阅“Request access for secured SDKs and samples - PlayFab | Microsoft Learn”）
* 向 **PFEventPipelineConfig** 添加了可选的 gzip compressionLevel
* 从 **PFEvents** 中移除了 TelemetryKey 管理调用
* 添加了缺失的旧版 **PFCloudScript** Client 调用：
  * ClientExecuteCloudScript
  * ExecuteEntityCloudScript
* 添加了缺失的 **PFAccountManagement** Client 调用：
  * ClientAddOrUpdateContactEmail
  * ClientAddUsernamePassword
  * ClientGetPlayFabIDsFromFacebookIDs
  * ClientGetPlayFabIDsFromFacebookInstantGamesIds
  * ClientGetPlayFabIDsFromGameCenterIDs
  * ClientGetPlayFabIDsFromGoogleIDs
  * ClientGetPlayFabIDsFromGooglePlayGamesPlayerIDs
  * ClientGetPlayFabIDsFromKongregateIDs
  * ClientGetPlayFabIDsFromNintendoServiceAccountIds
  * ClientGetPlayFabIDsFromNintendoSwitchDeviceIds
  * ClientGetPlayFabIDsFromPSNAccountIDs
  * ClientGetPlayFabIDsFromTwitchIDs
  * ClientLinkAndroidDeviceID
  * ClientLinkApple
  * ClientLinkFacebookAccount
  * ClientLinkFacebookInstantGamesId
  * ClientLinkGameCenterAccount
  * ClientLinkGoogleAccount
  * ClientLinkGooglePlayGamesServicesAccount
  * ClientLinkIOSDeviceID
  * ClientLinkKongregate
  * ClientLinkNintendoServiceAccount
  * ClientLinkNintendoSwitchDeviceId
  * ClientLinkPSNAccount
  * ClientLinkTwitch
  * ClientRemoveContactEmail
  * ClientSendAccountRecoveryEmail
  * ClientUnlinkAndroidDeviceID
  * ClientUnlinkApple
  * ClientUnlinkFacebookAccount
  * ClientUnlinkFacebookInstantGamesId
  * ClientUnlinkGameCenterAccount
  * ClientUnlinkGoogleAccount
  * ClientUnlinkGooglePlayGamesServicesAccount
  * ClientUnlinkIOSDeviceID
  * ClientUnlinkKongregate
  * ClientUnlinkNintendoServiceAccount
  * ClientUnlinkNintendoSwitchDeviceId
  * ClientUnlinkPSNAccount
  * ClientUnlinkTwitch
  * ClientUpdateUserTitleDisplayName
* 添加了许多供游戏服务器使用的调用（仅适用于 Win32）
  * **PFAuthentication**
    * ServerLoginWithServerCustomId
    * ServerLoginWithSteamId
    * ServerLoginWithXbox
    * ServerLoginWithXboxId
    * AuthenticateGameServerWithCustomId
    * Delete
    * GetEntity
    * ValidateEntityToken
  * **PFAccountManagement**
    * ServerBanUsers
    * ServerDeletePlayer
    * ServerGetPlayerCombinedInfo
    * ServerGetPlayerProfile
    * ServerGetPlayFabIDsFromFacebookIDs
    * ServerGetPlayFabIDsFromFacebookInstantGamesIds
    * ServerGetPlayFabIDsFromNintendoServiceAccountIds
    * ServerGetPlayFabIDsFromNintendoSwitchDeviceIds
    * ServerGetPlayFabIDsFromPSNAccountIDs
    * ServerGetPlayFabIDsFromSteamIDs
    * ServerGetPlayFabIDsFromTwitchIDs
    * ServerGetPlayFabIDsFromXboxLiveIDs
    * ServerGetServerCustomIDsFromPlayFabIDs
    * ServerGetUserAccountInfo
    * ServerGetUserBans
    * ServerLinkNintendoServiceAccount
    * ServerLinkNintendoSwitchDeviceId
    * ServerLinkPSNAccount
    * ServerLinkServerCustomId
    * ServerLinkSteamId
    * ServerLinkXboxAccount
    * ServerRevokeAllBansForUser
    * ServerRevokeBans
    * ServerSendCustomAccountRecoveryEmail
    * ServerSendEmailFromTemplate
    * ServerUnlinkNintendoServiceAccount
    * ServerUnlinkNintendoSwitchDeviceId
    * ServerUnlinkPSNAccount
    * ServerUnlinkServerCustomId
    * ServerUnlinkSteamId
    * ServerUnlinkXboxAccount
    * ServerUpdateAvatarUrl
    * ServerUpdateBans
    * GetTitlePlayersFromXboxLiveIDs
  * **PFCloudScript**
    * ServerExecuteCloudScript
  * **PFFriends**
    * ServerAddFriend
    * ServerGetFriendsList
    * ServerRemoveFriend
    * ServerSetFriendTags
  * **PFInventory**
    * GetTransactionHistory
  * **PFLocalization**
    * GetLanguageList
  * **PFPlatformSpecific**
    * ServerAwardSteamAchievement
  * **PFPlayerDataManagement**
    * ServerGetUserData
    * ServerGetUserInternalData
    * ServerGetUserPublisherData
    * ServerGetUserPublisherInternalData
    * ServerGetUserPublisherReadOnlyData
    * ServerGetUserReadOnlyData
    * ServerUpdateUserData
    * ServerUpdateUserInternalData
    * ServerUpdateUserPublisherData
    * ServerUpdateUserPublisherInternalData
    * ServerUpdateUserPublisherReadOnlyData
    * ServerUpdateUserReadOnlyData
  * **PFPushNotifications**
    * ServerSendPushNotification
    * ServerSendPushNotificationFromTemplate
  * **PFSegments**
    * ServerAddPlayerTag
    * ServerGetAllSegments
    * ServerGetPlayerSegments
    * ServerGetPlayersInSegment
    * ServerGetPlayerTags
    * ServerRemovePlayerTag
  * **PFTitleDataManagement**
    * ServerGetPublisherData
    * ServerGetTime
    * ServerGetTitleData
    * ServerGetTitleInternalData
    * ServerGetTitleNews
    * ServerSetPublisherData
    * ServerSetTitleData
    * ServerSetTitleInternalData

## 2306.0.0

日期：2023 年 7 月 26 日

* SDK 初始版本，支持 Win32 和 GDK


## Related topics

- [PlayFab Services C/C++ SDK 发行说明](https://docs.xbox.com/zh-CN/services/playfab/release-notes/playfab-c/index.md)
- [PlayFab Services SDK 2026 年发行说明](https://docs.xbox.com/zh-CN/announcements/playfab/release-notes.md)
- [PlayFab Services SDK 2023 年发行说明](https://docs.xbox.com/zh-CN/announcements/playfab/2023.md)
- [PlayFab Services SDK 2024 年发行说明](https://docs.xbox.com/zh-CN/announcements/playfab/2024.md)
- [PlayFab Services SDK 2025 年发行说明](https://docs.xbox.com/zh-CN/announcements/playfab/2025.md)
