多个网络

PlayFab 群支持同时使用多个 PlayFab 群网络。 下图提供了多网络方案中不同对象之间如何相互关联的示例表示形式。

多个网络中的 PlayFab 群对象

有关这些关系的工作原理的更完整说明,请查看介绍 PlayFab 群对象及其关系的文档。

此页面将介绍适合使用及不适合使用多个网络的情况,以及要避免的常见隐患。

警告

同时使用多个 PlayFab 群网络是一种高级方案,可能需要更复杂的游戏逻辑来管理。 通常,可以重新设计或简化使用多个网络的游戏方案,以便只需要一个网络,并且应在围绕多个 Party 网络设计游戏的网络体系结构之前,谨慎评估此操作是否可行。 有关何时适于或不适于使用多个网络的详细信息,请参阅下一部分 何时使用多个网络

何时使用多个网络

PlayFab 群网络旨在提供设备集合之间的实时通信通道,以交换游戏或聊天数据。 当设备的子集可能需要在不同的时间跨度进行通信时,通常会运行多个网络。

多个网络的一个示例方案是管理“触发团队聊天”,其中,一组玩家(触发团队)希望跨多个游戏会话保持一个持续的无缝聊天会话。 例如:

  • 玩家 A玩家 B玩家 C 想要一起玩在线游戏。
  • 他们各自创建一个聊天控件,将群网络联接在一起,并将聊天控件连接到启用聊天的该网络。
  • 当他们与触发团队外部的其他玩家加入多人游戏会话时,他们将加入单独的群网络并创建群终结点,以便向游戏会话网络中的所有玩家发送游戏数据。
  • 玩家 A玩家 B玩家 C 通过触发团队网络在整个游戏会话中继续互相聊天。
  • 当游戏会话结束时,所有玩家都会离开其各自的群网络,但触发团队群网络仍保持活动状态,并且其参与者可继续聊天,而不会造成任何中断。

此示例的关键要点是,额外的群网络为一组活动玩家启用了超越单个游戏会话生存期的实时通信。

如果在游戏会话中只是将玩家分区到团队中,则多个网络将不合适。 在这种情况下,最好在单个群网络中使用聊天权限来定义每个团队的聊天边界。

此外,如果长生存期组不代表玩家主动相互通信,则使用多个网络也是不适当的,例如公会或无聊天大厅。 对于这些非实时方案,其他功能(如 PlayFab 大厅PlayFab 实体组)可能更为合适。

跨多个网络的终结点与聊天控件

值得注意的是,群终结点和群聊天控件与多网络方案的交互方式是不同的。

终结点代表为特定网络创建的数据消息通道。 一个网络的终结点无法将消息发送到另一个网络上的终结点。

另一方面,聊天控件更接近于代表单个玩家。 单个用户只能具有一个聊天控件。 每个聊天控件可以同时连接到多个网络,并且只要与给定聊天控件关联的用户对所有关联网络进行身份验证,聊天控件就可以进行跨网络通信。 无论是使用单个网络还是多个网络,都应使用聊天权限来定义聊天控件之间的通信边界。

成本

PlayFab 群的使用情况度量受玩家连接到的网络数量影响。 群连接计费计量按每个网络计算,因此同时使用多个网络的成本高于使用单个网络的成本。 在规划游戏体系结构时,请务必考虑成本影响。

可以在 PlayFab 群定价页上查看有关 PlayFab 群成本的详细信息。