惩罚接口(Sanctions Interface) 要求SDK版本为1.11或更高版本。
惩罚接口(Sanctions Interface) 管理的是你的用户受到的惩罚。惩罚可能包括临时或永久禁止游戏,或者禁止通信从而限制特定用户使用产品的社交功能。你可以根据自己的用例为产品定立惩罚,用来处理不良行为。
惩罚接口 仅追踪和协调惩罚。你负责定立和实施惩罚制度。
客户端凭证以及策略配置
在使用 惩罚接口 前,你必须配置你的客户端凭证。为保护用户数据,请选择合适的 客户端策略类型(Client Policy Type),以便最小化授予的权限。
建立用户身份
要开始使用 惩罚接口,必须首先通过连接接口建立用户身份。
查询有效玩家惩罚措施
可使用以下函数查询对用户实施的有效惩罚:
EOS_Sanctions_QueryActivePlayerSanctions
,用于从EOS后端检索惩罚数据。完成或失败时会触发相关回调。成功时,
EOS_Sanctions_GetPlayerSanctionCount
和EOS_Sanctions_CopyPlayerSanctionByIndex
会访问所请求用户的有效惩罚数据。完成对用户惩罚数据的处理后,在查询另一个用户之前,调用
EOS_Sanctions_PlayerSanction_Release
以释放指定用户的数据。
注意:调用 EOS_Sanctions_QueryActivePlayerSanctions
会重置缓存数据。函数调用成功后,你可以决定在查询另一个用户之前访问和复制返回的数据。
在开发人员门户中管理惩罚
在你的 开发人员门户 中,选择要管理的特定产品,点击侧面板导航条中的 游戏服务(Game Services) 部分,然后选择 惩罚(Sanctions),即可找到 惩罚接口(Sanctions Interface)。
可从此处:
添加(Add) 新惩罚
删除(Remove) 有效或待定惩罚
激活(Activate) 待定惩罚
更新(Update) 惩罚详情
要添加新惩罚,选择靠近惩罚UI顶部的 新增惩罚(Add New Sanctions) 按钮。
选定后,将打开一个模式幻灯片,显示包括惩罚措施、类型、理由、标签和玩家ID在内的多个输入字段。
惩罚可以是永久的,也可以是暂时的(1天、3天、7天或30天)。
提示:选择UI中列示的一项惩罚可以查看对相关用户采取的所有惩罚(包括理由),还可以进行修改(删除、激活或更新)。
为在线多人玩家执行惩罚
惩罚在会话级别强制执行;只有在创建会话时,才能配置强制执行的情况。请参见会话接口了解详情。
注意: 受惩罚的玩家可以创建一个启用了惩罚的会话,但在创建后既不能注册也不能加入该会话。
受惩罚的玩家既不能加入也不能注册一个被配置为执行惩罚的会话。
如果会话启用了惩罚并且加入的用户被惩罚,函数`EOS_Sessions_JoinSession`将返回错误`EOS_Sessions_PlayerSanctioned`。
函数 EOS_Sessions_RegisterPlayers
支持多个玩家,并且与 EOS_Sessions_JoinSession
不同,当一个(或多个)受惩罚玩家试图注册一个启用了惩罚的会话时,它不会返回错误。相反,你必须检查响应对象,以确保所有玩家都已注册。如果目标会话启用了惩罚,任何由于惩罚而没有注册的玩家,都将出现在回调结果结构体 EOS_Sessions_RegisterPlayersCallbackInfo
中的 SanctionedPlayers
列表。详情请参见会话接口。