EOS SDK的会话匹配范例展示了游戏会话的管理。他让用户能够创建会话、查看关于本地会话的信息、对其进行修改、搜索会话、加入朋友的当前会话,以及邀请朋友加入当前会话。
开始之前
出于演示目的,示例应用使用 Epic账户服务 验证本地用户。这需要先将用于初始化SDK的客户端凭证指定给使用 Epic账户服务 的 应用。
演示的SDK功能可以和任何支持的身份供应商配合使用,以用于用户验证。
会话创建
首先,你需要创建一个会话。按下“新建会话(Create New Session)”按钮呼出新对话:
为会话选择一个名称。在下拉列表中为“关卡(Level)”属性选择一个值。选择会话可以拥有的玩家数量。选择会话开始后是否还能加入(通过“进行中加入(Join In Progress)”标签)。选择此会话是否公开可用(为true时,其他用户可以使用搜索和加入来找到此会话;否则只能通过邀请加入会话)。选择新建的会话是否是状态会话(下节对此有详述)。如为状态会话,则选择会话是否能使用邀请。
完成后按下“创建(Create)”按钮。成功创建后,新会话将被添加到主对话中的会话列表内。
状态会话
你可以将会话标记为与状态相关的会话,以便在更新社交覆层时使用。这将通过社交覆层启用交互(例如发送加入好友会话的邀请)。玩家每次只能拥有一个状态会话。请参见社交覆层页面了解详情。
会话列表
在主对话中,你可以看到本地会话的列表(已创建、已加入或已通过搜索找到)。
表格有数列,包含会话及与会话进行交互操作的相关信息。
- 会话名——会话的名称。如果加入的是别人的会话,其可能不可用(在这种情况中,会话将被命名为“JoinedSession”)。
- 状态:无(None)/已开始(Started)/已完成(Finished)。
- 玩家:当前玩家/最大玩家。
- 关卡:用户创建的属性,专属于此范例。关卡名。
- 状态:此会话是否是社交覆层相关的状态会话?
- JIP:进行中加入标签。
- 公开:任何人是否能通过搜索和加入公开进入此会话?
- 邀请:针对状态会话。是否允许邀请?
操作:
- 开始:开始会话;
- 结束:结束会话;
- 修改:通过一些预设参数集对其进行修改。
你还可以点击会话列表中相应会话的行来选择会话。可在会话搜索或邀请好友加入会话之后使用。
会话搜索
用户也可以按关卡名搜索会话。在搜索域中输入关卡名并按下回车键即可。搜索完成后,你便能看到此关卡的所有公开会话。注意:在进行中、且未设置“进行中加入(Join In Progress)”标签的会话将不会显示。 注意:并不是已找到会话的所有信息皆可用。操作已明显禁用。 点击搜索结果中的行开始自动加入。 按下“清除搜索(X按钮)”即可清除搜索结果。
邀请好友至会话
创建会话后,你可以邀请好友加入。点击相应的行在列表中选中会话。在右侧的“好友”对话中找到好友,并按下“邀请至会话(Invite to session)”。此时将发送会话邀请。你的好友将收到提示,以便接受邀请并加入会话。
对好友进行会话注册
你可以用邀请好友的方式对其进行会话注册。已注册好友也可以发送你会话的邀请。