有关服务版本和产品更新的发行说明,请参阅 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 2026v145工具集的支持。 - 将 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
-
对于 Android:
- 添加了对事件管道中事件缓冲的支持。
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
- PFAuthentication
2306.0.0
日期:2023 年 7 月 26 日- SDK 初始版本,支持 Win32 和 GDK
