对 XDK 和 Windows 7 平台的支持已于 2023 年 8 月 1 日结束。将不再针对这些平台发布新的 PlayFab Party 库更新。PlayFab Party 网络与语音服务将继续运行,对当前使用 Windows 7 或 XDK 版本 PlayFab Party 库的任何游戏均无影响。
对 32 位 Android 平台(arm7 和 x86)的支持已于 2023 年 10 月 19 日结束。将不再针对这些平台发布新的 PlayFab Party 库更新。PlayFab Party 网络与语音服务将继续运行,对当前在 32 位 Android 平台上使用 PlayFab Party 库的任何游戏均无影响。
1.10.25
2026 年 7 月 24 日Bug 修复
- GDK:提升了 PC 上首选多人游戏端口查询失败时的健壮性。可恢复的失败将在 PC 上回退到临时端口选择。希望对 GDK PC 端口选择进行更严格控制的游戏可以使用
PartyLocalUdpSocketBindAddressConfiguration来定义替代的端口选择策略。 - GDK:在发生意外的 GDK 内部运行时失败时提供更清晰的
PartyError值。
1.10.24
2026 年 7 月 20 日Bug 修复
- 修复了当游戏尚未配置音频输出时,音频操作语音流不产生缓冲区的问题。
- Android:修复了在设置线程 CPU 关联时失败可能导致工作线程创建期间崩溃的问题。
- Apple:修复了应用失去并重新获得音频焦点后麦克风和音频捕获无法恢复的问题。
- Linux:修复了语音转文本和其他 HTTP 请求停滞的问题。
1.10.23
2026 年 6 月 5 日Bug 修复
- Linux:修复了 HTTPS 请求以验证服务器的 TLS 凭据。
- Android:修复了在使用 NDK 25 或更早版本时 PartyCleanup 期间可能出现的内存泄漏。
- 修复了 Websocket 连接以验证服务器的 TLS 凭据。
1.10.22
2026 年 5 月 15 日Bug 修复
- 修复了在 macOS 上连接到 Party 网络时切换音频设备可能失败的问题。
1.10.21
2026 年 5 月 13 日- 将用于构建库的 Windows 平台工具集从 v142 升级到 v143。
Bug 修复
- 修复了在音频操作处于活动状态时,网络之间转换过程中可能出现的语音丢失。
- 修复了当音频操作捕获流处于活动状态时,缺失最终语音转文本转写结果的问题。
- 修复了当进程任务队列在 Party 完成关闭之前被删除时,关机过程中可能出现的崩溃。
- Android:修复了在
PartyManager::Cleanup之后立即调用PartyManager::Initialize时可能出现的崩溃。 - Android:修复了
PartyManager::Cleanup上的内存泄漏。 - Apple:在 macOS 通用二进制文件中恢复了 arm64(Apple Silicon)支持(在之前的版本中被无意删除)。
- 修复了内部 HTTP 跟踪对象可能在后台异步任务完成之前被删除时的潜在 use-after-free 问题。
- Linux:防止了多个共享对象链接同一依赖项时静态库被覆盖导致的潜在崩溃。
1.10.20
2026 年 4 月 29 日- PlayStation®5:修复了 HTTP 响应解析,以正确传播 null JSON 值。
1.10.19
2026 年 4 月 22 日- Nintendo Switch 2:通过移除已弃用的语言代码 API 并解决 C++20 编译问题,更新了与 Nintendo SDK 22 的兼容性。
1.10.18
2026 年 3 月 26 日- 改进了 PlayFab Party 的 Linux 链接器加固。
1.10.17
2026 年 2 月 23 日- Android:修复了蓝牙麦克风不工作的问题。
- Linux:移除 SafeStack。
- Apple:隐藏 Party 中的 OpenSSL 符号。
- Nintendo Switch 2:解决了 IP 变更时的 TCP 连接错误。
1.10.16
2026 年 2 月 2 日- GDK:新增对使用 in-proc GRTS 的环境的支持。
- GDK:新增对
PartyAudioDeviceSelectionType::SystemDefault的支持。
Bug 修复
- 修复了多网络转换场景中可能出现的崩溃。
1.10.15
2025 年 12 月 17 日- Nintendo Switch 2:为 Web 请求增加了 10 秒超时。
1.10.14
2025 年 12 月 9 日- 将
PartyNetwork::CreateEndpoint的 PartyStatusChangeResult 行为更改为:对令牌过期前发生的瞬态错误返回PartyServiceError,仅在令牌已过期时才返回UserNotAuthorized。 - Android:新增对 16 KB 页面大小的支持,以满足新的 Android 页面大小要求。
1.10.13
2025 年 10 月 14 日- 修复了在 iOS 26 上麦克风无法正常工作的问题。
- Apple:在 iOS 上新增对 Arm64.xcframework 的支持。
1.10.12
2025 年 10 月 6 日- 将
PartyNetwork::CreateEndpoint的 PartyStatusChangeResult 行为更改为:对令牌过期前发生的瞬态错误返回PartyServiceError,仅在令牌已过期时才返回UserNotAuthorized。 - Android:新增对 16 KB 页面大小的支持,以满足新的 Android 页面大小要求。
- Apple:在 iOS 上新增对 Arm64 模拟器构建的支持。
Bug 修复
- 修复了在调用 PartyManager::Cleanup 时库可能崩溃的问题。
- Apple:为 iOS 中断后麦克风焦点恢复添加了重试逻辑。
- Apple:修复了 Party 语音聊天和转写期间可能出现的内存泄漏。
- Apple:修复了当多个远程玩家跨不同平台连接时 PartyLocalChatControl 可能出现的冻结。
- Apple:在 iOS 上新增对 Arm64 模拟器构建的支持。
1.10.9
2025 年 3 月 11 日- Nintendo Switch:Bug 修复,解决在启用日志记录的情况下加载库 shipping 变体的 DLL 时出现的崩溃。
1.10.8
2025 年 1 月 24 日- PlayStation®4 和 PlayStation®5:解决了 PlayStation 平台上与脏话遮蔽相关的崩溃。
1.10.6
2024 年 12 月 10 日- PlayStation®4 和 PlayStation®5:解决了与 C++14 及更高版本集成时的构建警告和错误。
1.10.5
2024 年 11 月 18 日- 修复了在其他用户多次重新加入并离开后仍留在 Party 网络中的用户有时无法进行语音聊天的问题。
- 修复了在与直接对等连接一起使用时,PartyLocalEndpoint::GetEndpointStatistics 会为 PartyEndpointStatistic::CurrentlyQueuedSendMessages 和 PartyEndpointStatistic::CurrentlyQueuedSendMessageBytes 报告错误值的问题。
- 修复了 macOS 上 framework 的损坏符号链接。
- 在非 Windows 平台收集 SDK 日志时改进了对日志异常的处理。
1.10.4
2024 年 11 月 12 日- PlayStation®4 和 PlayStation®5:解决了在端点创建和销毁期间与互斥操作和端点状态变更相关的崩溃。
1.10.3
2024 年 10 月 14 日- 新增每个网络最多支持 128 台设备。详细信息请参阅 可扩展网络。
- 将
c_maxNetworkConfigurationMaxDeviceCount从 32 增加到 128。 - 更新了内部诊断。
- 更新了用于安全加固的构建设置。
- 修复了 macOS 平台上暴露 OpenSSL 符号的问题。
1.10.2
2024 年 9 月 18 日Bug 修复
- 修复了当库在含三台或更多设备的网络中建立直接对等连接时可能崩溃的问题。
1.10.0
2024 年 8 月 5 日- 新增对
game_server实体的支持,因此服务器可以通过 SDK 连接到 Party 网络,并被游戏客户端安全地识别。通过AuthenticateGameServerWithCustomId对game_server实体进行身份验证后,可通过 PartyManager::CreateLocalUserWithEntityType 将其添加为本地用户。 - 新增用于确定库中每个实体所关联实体类型的方法。详细信息请参阅 PartyLocalUser::GetEntityType、PartyEndpoint::GetEntityType 和 PartyChatControl::GetEntityType。
- 新增一个直接对等连接选项,允许
title_player与game_server实体之间建立直接对等连接,同时不允许title_player实体与其他title_player实体之间建立直接对等连接。详细信息请参阅 PartyDirectPeerConnectivityOptions::OnlyServers。 - 新增基于过滤条件检索便捷端点列表的方法。详细信息请参阅 PartyNetwork::GetEndpointsByUserType。
- 更新了 PlayFab Party 在 PlayStation®4 和 PlayStation®5 上使用的第三方库的内存分配,之前使用的是默认分配器,现在改为使用 Party 的内存回调。使用 PartyManager::SetMemoryCallbacks 配置特定游戏内存分配函数的游戏现在将看到并可控制这些分配。
Bug 修复
- 修复了在进程终止过程中库在 Windows 或 XBOX 上可能崩溃的问题。
- 解决了在某些非 Windows 平台上,此前连接尝试失败后出现的虚假直接对等连接失败。
- 修复了在反复创建和销毁 Party 网络期间不触发 DestroyNetwork 事件的问题。
已知问题
- 当在含三台或更多设备的网络中建立直接对等连接时,库可能偶尔会崩溃。
1.9.5
2024 年 5 月 3 日- 解决了使用连接共享等功能的 Windows 设备在 PartyRegionsChangedStateChange 及其他操作中报告的间歇性致命错误。
- 修复了在 Windows 和 XBOX 上如果进程在开始使用 Party 后不久关闭时可能出现的崩溃。
- 修复了一个 bug:调用 PartyLocalDevice::DestroyChatControl 后,
PartyChatControl资源有时不会被释放,只有在调用 PartyManager::Cleanup 后才会被释放。 - Android:解决了在同一应用中同时使用 Party 和 Multiplayer 时出现的重复类错误。
1.9.4
2024 年 3 月 20 日- 修复了当主机语言设置为乌克兰语时,
PartyLocalDevice::CreateChatControl在 PlayStation®4 和 PlayStation®5 上失败的 bug。
1.9.3
2024 年 3 月 14 日- 修复了启用语音转文本时可能出现的 use-after-free bug。
- 修复了启用直接对等连接时可能出现的崩溃。
- 改进了内部诊断。
1.9.2
2024 年 3 月 5 日- 修补了 Linux 平台上的音频渲染 bug。Linux 客户端现在可以完整地听到其他平台客户端的声音。
1.9.1
2024 年 2 月 5 日- 新增
PartyOption::RegionUpdateConfiguration和PartyOption::RegionQualityMeasurementConfiguration,用于高级控制 Party 库何时以及如何执行自动区域发现和连接质量测量。
1.8.11
2023 年 11 月 13 日- 修复了在 Nintendo Switch 上客户端尝试离开网络时可能发生崩溃的 bug。
1.8.10
2023 年 10 月 19 日 此版本更新了 PlayFab Party Apple 和 Android 平台的最小 SDK 版本和目标 SDK 版本。 对于 Apple 平台,我们随 Xcode 15 的发布遵循 Apple 的 Xcode 指南。- iOS
- 最低部署目标已从 iOS 10 提升到 iOS 12。
- 目标部署版本已从 iOS 16 提升到 iOS 17。
- macOS
- 目标部署版本已从 macOS 13.3 提升到 macOS 14。
- 最低部署目标已在 v.1.8.8 版本中从 macOS 12.3 降低到 macOS 10.13。
- Android
- 最低 SDK 版本已从 Android API 19 提升到 Android API 21。
- 目标 SDK 版本已从 Android API 28 提升到 Android API 34。
- 编译 SDK 版本已从 Android API 28 提升到 Android API 34。
- 对 32 位 Android 平台(arm7 和 x86)的支持已于 2023 年 10 月 19 日结束。将不再针对这些平台发布新的 PlayFab Party 库更新。PlayFab Party 网络与语音服务将继续运行,对当前在 32 位 Android 平台上使用 PlayFab Party 库的任何游戏均无影响。
1.8.9
2023 年 10 月 20 日- 为端点实现了共享属性。可在通过
PartyNetwork::CreateEndpoint创建端点时设置共享属性。可使用PartyEndpoint::GetSharedProperty检索共享属性。 - 改进了音频数据包排队,以在某些场景中降低感知聊天音频延迟。
- 升级了内部 Opus 编解码器版本。
- 修复了一个低频崩溃。
- 改进了内部诊断。
- 移除了对 Windows 7 的支持。
1.8.5
2023 年 6 月 28 日Bug 修复
- 修复了
PartyLocalChatControl::SetAudioRenderVolume在 Nintendo Switch、PlayStation®4 和 PlayStation®5 上无法正常工作的 bug。
1.8.3
2023 年 6 月 2 日- PlayFab Party 1.8 版为 Nintendo Switch 发布,包含自上一个 Nintendo Switch 版本(1.7.15)以来的所有 bug 修复和新功能。
1.8.2
2023 年 5 月 30 日Bug 修复
- 修复了 PlayFab Party 库要求 macOS 版本至少为 13.1 的 bug。新版本将最低 macOS 版本设置为 12.3。
1.8.0
2023 年 5 月 8 日- 新增用于配置设备尝试与其他设备建立的直接对等连接最大数量的选项。详细信息请参阅
PartyOption::LocalDeviceMaxDirectPeerConnections。 - iOS、Android:新增对在来自本地聊天控件捕获的音频上启用降噪的支持。详细信息请参阅
PartyLocalChatControl::SetVoiceAudioOptions。
Bug 修复
- 修复了在用户实体令牌过期时,由于内部诊断跟踪导致库可能出现内存泄漏的 bug。
1.7.23
2023 年 4 月 1 日- 新增对 PlayStation®5 平台上实时音频操作的支持。
1.7.22
2023 年 3 月 30 日Bug 修复
- 修复了 Party 在宿主进程开始退出之前未清理时可能崩溃的 bug。
- 修改了对等连接的行为:如果链路意外断开,将回退到中继连接。之前的行为会将两台设备都从网络中断开。
1.7.20
2023 年 2 月 8 日Bug 修复
- 修复了 44.1 kHz 麦克风的音频可能听起来失真的 bug。
- 改进了 PartyManager::GetErrorMessage() 报告的网络错误的诊断错误消息。
1.7.19
2022 年 11 月 11 日Bug 修复
- 修复了在 Linux 上超过某个时间点后无法打开 Web 请求的 bug。
1.7.17
2022 年 10 月 7 日Bug 修复
- 修复了在 iOS 上聊天控件连接到网络时可能发生崩溃的 bug。
- 修复了在启用 iOS 日志时可能发生崩溃的 bug。
1.7.16
2022 年 9 月 27 日macOS 的新 Bundle 版本
- 新增用于 Unity 插件加载和原生 macOS 开发的 .bundle。
Bug 修复
- 修复了在启用 macOS 日志时可能发生崩溃的 bug。
1.7.14
2022 年 8 月 12 日面向 Linux 和 macOS 的新 SDK
- 新增在 Linux 和 macOS 上对 PlayFab Party 的原生支持,让游戏开发者能够在更多平台上创建跨平台或多平台的实时多人体验。有关这些和其他 SDK 版本的链接,请参阅 PlayFab Party SDK。
- 推出适用于 Linux 的 PlayFab Party
1.7.11
2022 年 6 月 24 日Bug 修复
- 修复了调用
PartyManager::Cleanup()后仍存在单个内存分配的问题。
1.7.8
2022 年 4 月 21 日Bug 修复
- 修复了调用
PartyManager::Cleanup()时内存未被完全清理的问题。 - 修复了使用相同的音频设备选择调用
PartyLocalChatControl::SetAudioInput()或PartyLocalChatControl::SetAudioOutput()会导致库不必要地重新初始化音频设备的问题。
1.7.7
2022 年 3 月 16 日Bug 修复
- PlayStation®4、PlayStation®5:修复了在音频设备被移除后没有音频设备时发生的崩溃。
- Switch:修复了触发多个 PlayFab 事务时 Web 请求失败的问题。
1.7.6
2022 年 2 月 8 日性能改进
- Windows、XDK、Nintendo Switch、PlayStation 4、PlayStation 5:移除了两个工作线程,并在一个已存在的、频率较低的工作线程上执行相关工作。Microsoft Game Development Kit (GDK) 版本的库已经具有这种合并工作行为。
Bug 修复
- iOS、Android、Switch、PlayStation 4、PlayStation 5 和 Stadia:修复了初始化期间分配的少量内存在清理期间未被正确释放的问题。
- 在未启用文本审核时,避免在 PartyChatTextReceivedStateChange 中报告 PartyChatTextReceivedOptions::FilteredDueToError 标志。
1.7.5
2021 年 9 月 30 日Bug 修复
- 修复了某些 16 kHz 麦克风无法工作的问题。
- 修复了 Windows 上未处理麦克风权限变更的问题。
- 修复了某些
PartyManager::CreateNewNetwork()失败条件下的内存泄漏。 - 修复了
PartyLocalEndpoint::GetEndpointStatistics()偶发的崩溃。
1.7.0
2021 年 6 月 29 日新增分析钩子和聊天控件指示
- 有兴趣了解内部库函数中时间消耗情况的开发者现在可以配置可选的方法进入和退出回调,以挂接到他们首选的高性能检测方法。详细信息请参阅
PartyManager::SetProfilingCallbacksForMethodEntryExit。在此版本中,这些回调仅在 Windows、XBOX One XDK 和 Microsoft Game Core 平台上受支持。 - 新的 NoRemoteInput 和 RemoteAudioInputMuted 聊天控件指示可对当前静音音频状态提供更细粒度的信息。详细信息请参阅
PartyChatControlChatIndicator。
端点消息行为改进
- ‘PartySendMessageQueuingConfiguration’ 的
timeoutInMilliseconds字段现在也会被透明云中继评估,如果由于网络状况差异或远程目标的响应性而被迫在转发前对消息排队时。 - 当完全通过身份验证进入网络后,向 0 项数组发送将正确地以库当前在该时刻在网络中报告的所有远程端点的完整集合为目标。正在传输过程中创建的端点不再可能被包含。
1.6.1
Bug 修复
- 修复了当聊天控件正在从另一个网络断开连接时同一聊天控件连接到某个网络时可能发生崩溃的 bug。
1.6.0
2021 年 4 月 12 日新的线程控制和文本审核功能
- 现在可以在游戏控制的线程上手动运行库的工作。详细信息请参阅
PartyManager::SetWorkMode。 - 现在可以选择性过滤令人反感的文本聊天。详细信息请参阅 使用文本审核。
头文件中的显式枚举编号
- 头文件中的枚举值现在具有显式编号。
1.5.13
2021 年 3 月 26 日Bug 修复
- 修复了使用蓝牙耳机的 iOS 设备上音频中断的 bug。
- 修复了在 Windows 平台上应用没有激活麦克风权限时生成错误代码不正确的 bug。
- 修复了不健康设备除非有其他触发因素强制刷新,否则不会被刷新的 bug。
- 修复了在与该通道关联的源端点变为无效后,解引用发送通道的用户数据时可能发生崩溃的 bug。
- 修复了如果远程聊天控件没有语言代码,客户端会遇到静默失败的 bug。
1.5.10
Bug 修复
- 修复了由于进程的处理器关联性与库的默认线程关联性不匹配,库在某些 Windows 设备上可能无法初始化的 bug。
- 修复了当操作由于内部 Web 请求失败而失败时,库可能不提供错误的 bug。
- 修复了在启用直接对等连接并且库尝试建立与另一台设备的直接对等连接时可能发生崩溃的 bug。
- 修复了可能导致音频破碎或失真的 bug。
1.5.1
2020 年 9 月 5 日Bug 修复
- 修复了库在 iOS 上未能激活麦克风的 bug。
1.5.0
新的直接点对点连接、延迟和语音转文本功能
- 现在在 Windows 10 和 Microsoft Game Core 版本的库中支持直接点对点连接。详细信息请参阅 使用直接点对点连接。
- 现在可以通过库查询本地设备与远程设备之间的往返延迟。详细信息请参阅
PartyEndpointStatistic::AverageDeviceRoundTripLatencyInMilliseconds - 现在可以禁用语音转文本的脏话遮蔽。详细信息请参阅
PartyVoiceChatTranscriptionOptions::DisableProfanityMasking。
Android 和 iOS 音频 bug 修复
- Android:蓝牙管理器将在首次调用
PartyLocalDevice::CreateChatControl()时初始化,而不是在调用PartyManager::Initialize()时初始化。 - iOS:修复了调用
PartyManager::Initialize()时的一个小声音伪影。
1.4.13
Windows 8.1 依赖问题
此版本移除了对 api-ms-win-core-version-l1-1-1.dll 的不必要依赖,此依赖曾使先前版本无法在 Windows 8.1 上运行。1.4.8
2020 年 4 月 30 日TLS1.2
- 转写堆栈已在 Windows 7、Android 和 iOS 上更新为使用 TLS1.2。如果你使用这些平台中的任何一个,请升级,因为从 2020 年 9 月起,Azure 语音服务 将弃用 TLS1.1 支持。所有其他平台已经支持 TLS1.2,无需升级。
Bug 修复
- 修复了
PartyCreateChatControlCompletedStateChange结构体中languageCode字段未被填充的 bug。 - 修复了人为夸大
PartyManager::GetRegions()报告的延迟测量结果的 bug。 - 修复了允许在不安全时机调用
PartyManager::SetMemoryCallbacks()的 bug。 - 修复了在
PartyNetwork中使用PartyLocalUser调用PartyManager::DestroyLocalUser()时会生成PartyLocalUserRemovedStateChange,且 removedReason 字段中的值不正确(PartyLocalUserRemovedReason::RemoveLocalUser,而非正确值PartyLocalUserRemovedReason::DestroyLocalUser)的 bug。
其他变更
- 减少了聊天数据使用的带宽。
- 在 XBOX 上遇到 sandbox 问题时现在会提供更具描述性的错误代码和错误消息。
- 如果提供了空的 PlayFab Title ID,
PartyManager::Initialize()现在会失败。 - 向
PartyManager::CreateLocalUser()传递无效的 PlayFab Entity Token 现在会在依赖有效令牌的操作的状态变更结果中产生更具描述性的错误消息。 - 修复了头文件文档中的错别字。
- 现在向
PartyManager::CreateNewNetwork()传递无效区域时会提供更具描述性的错误代码和错误消息。 - 为 Party.h 中的结构体和接口澄清了
PartyString值生命周期的文档。 PartyManager::Cleanup()的文档已经澄清,说明它不是线程安全的调用。- 当
PartyManager::ConnectToNetwork()因互联网连接错误而异步失败时,现在会提供更具描述性的错误代码和错误消息。
1.3.0
聊天 API 变更
- 可用于修改传出或传入语音聊天音频的实时音频操作函数已在 Windows 和 XBOX 上实现。详细信息请参阅 使用实时音频操作应用自定义语音效果。
- 聊天权限选项提供了更多选项,可选择独立配置文本转语音和麦克风音频权限。详细信息请参阅
PartyChatPermissionOptions。 - 这打破了与之前发行的 XBOX Live Helper 库的兼容性。此版本与 XBOX Live Helper 库的 1.2.0 版本兼容。详细信息请参阅 XBOX Live Helper 库发行说明。
- 每个转写状态变更现在指示它表示的是文本转语音还是麦克风音频。详细信息请参阅
PartyVoiceChatTranscriptionReceivedStateChange。
1.2.2
iOS 变更
- 新增对音量控制 API 的支持。
1.2.0
Android 变更
- 新增对音量控制 API 的支持。
- 从库中移除音频焦点处理。宿主应用程序现在需要自行实现焦点处理逻辑。
1.0.2
- 修复了后台遥测中的崩溃。
1.0.1
Party API 变更
PartyManager::SetMemoryCallbacks 变更
此版本的 Party 新增了对PartyManager::SetMemoryCallbacks() 的修复,并且对何时可安全调用此 API 增加了限制。详情请查看 Party.h 中该 API 的参考文档。
移除 PartyStateChangeResult::TitleCreateNetworkThrottled
PartyStateChangeResult 中的 TitleCreateNetworkThrottled 值已从 API 中移除,因为 Party 库从不生成该值。
0.7.0-prerelease
Windows 打包变更
此版本的 Party 引入了新的 NuGet 包 Microsoft.PlayFab.PlayFabParty.Cpp.Windows,取代并弃用了针对 Windows 10 和 Windows 7 的专用 NuGet 包(分别为 Microsoft.PlayFab.PlayFabParty.Cpp.Win10 和 Microsoft.PlayFab.PlayFabParty.Cpp.Win7)。新的统一 Windows NuGet 包包含两个新的 DLL:PartyWin.dll(支持 Windows 8.1 及更高版本)和 PartyWin7.dll(仅供 Windows 7 使用)。在新的 Windows 统一 NuGet 包中,正确的 Party DLL 会基于运行时对 OS 版本的检测加载,因此 PartyWin.dll 和 PartyWin7.dll 都应包含在游戏分发包中。Android 变更
Android 版本现在使用共享对象 (libparty.so) 代替静态库 (libparty.a)。 此版本还包含针对 Android 的音频设备选择 bug 修复。iOS 变更
Party 的 iOS 版本现在包含 framework 包,用于动态加载 libparty,而不是静态构建的 libparty.a。API 变更
UpdateEntityToken API
此版本的 Party 对 PlayFab 实体令牌的处理进行了变更。在之前的版本中,游戏通过PartyManager::CreateLocalUser() API 向 Party 提供用户的实体令牌。此后,Party 会内部刷新实体令牌并保持其最新。
在此版本中,内部令牌刷新行为已被移除,取而代之的是新 API PartyLocalUser::UpdateEntityToken()。调用方现在负责监控提供给 PartyManager::CreateLocalUser() 和 PartyLocalUser::UpdateEntityToken() 的实体令牌的过期时间。当令牌接近或已经过期时,应通过执行 PlayFab 登录操作获取新令牌,并通过调用 PartyLocalUser::UpdateEntityToken() 将其提供给 Party 库。建议在之前提供的令牌的有效期过半时获取新令牌。在会进入低功耗状态或长时间暂停应用执行的平台上,令牌可能无法在过期之前刷新。应在执行恢复后检查令牌是否已过期。
大致流程如下:
- 游戏调用
LoginWith*PlayFab API - PlayFab 的响应包含实体令牌及过期时间
- 与之前一样,使用
PartyManager::CreateLocalUser()API 将令牌信息提供给 Party - [新] 记下过期时间以便了解何时刷新
- [新] 在令牌过期时间的一半(或该时间点之后的最近机会),通过再次调用
LoginWith*获取新令牌,并跟踪新令牌的过期时间 - [新] 调用
PartyLocalUser::UpdateEntityToken()将新令牌传递给 Party
- 获取实体令牌的行为不会使先前获取的任何实体令牌失效。它们会一直有效直到过期。
- 移除内部刷新功能是因为大多数游戏都预计会自行进行 PlayFab 调用。让游戏和 Party 库都获取实体令牌会造成不必要的服务负载来管理两组令牌。
聊天 API 变更
PartyVoiceChatTranscriptionReceivedStateChange 现在包含 languageCode 字段,指示转写的语言。
PartyChatTextReceivedStateChange 现在包含 languageCode 字段,指示聊天文本的语言。当通过 PartyLocalChatControl::SetTextChatOptions() 启用聊天文本翻译时,languageCode 字段将被填充。
0.6.0-prerelease
新增对 iOS、Android 和 Nintendo Switch 平台的支持。 更多信息请参阅以下链接: iOS/Android0.5.0-prerelease
API 变更
无障碍聊天
- 新增对文本转语音朗读的支持。(请参阅
PartyLocalChatControl::SetTextToSpeechProfile()) - 新增更多控制何时进行语音转文本的选项。(请参阅
PartyLocalChatControl::SetTranscriptionOptions()) - 向 API 添加了文本到文本翻译,但尚未支持。(请参阅
PartyLocalChatControl::SetTextChatOptions()) - 减少了文本转语音的带宽和内存使用。
网络访问控制
- 已从 API 中移除
PartyNetwork::SetAccessControlList()和相关方法。请使用新的PartyInvitation类和相关方法来创建开放邀请或向特定 PlayFab 用户授予访问你的 Party 网络的权限。
0.4.6-prerelease
API 变更
新增公共 APIPartyLocalUser::UpdateEntityToken()。
0.2.0-prerelease
API 变更
PartyManager::Initialize现在需要传入有效的 PlayFab Title ID。
