跳转到主要内容
这些发行说明适用于 PlayFabCSdk。有关其他 PlayFab Services SDK 的发行说明,请参阅其他 Services SDK 发行说明。
有关服务版本和产品更新的发行说明,请参阅 PlayFab 的公共 GitHub 存储库中的发行说明部分

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
最后修改于 2026年11月5日