- Reputation 类表示信誉。
- ReputationService 类表示信誉服务。
- 相应的 URI 在 Reputation URIs 中进行了描述。
信誉统计信息在整个服务中是全局的,不依赖于特定游戏。该服务的服务配置 ID (SCID) 是用于访问信誉统计信息的全局 SCID。
信誉功能
- 以相同方式处理反馈和投诉。实体提交有关用户的反馈,此反馈会影响用户的信誉。然后可以将反馈转发给执法团队采取进一步行动。
- 允许用户对其他用户提供反馈。游戏可以自动提交反馈。
- 允许游戏直接访问 API。用户可以直接从游戏内提交反馈,并且是在用户当前所在游戏区域的上下文中。
- 将低信誉处理为影响用户在 XBOX Live 上以及游戏内可以执行的操作。因此,用户必须关注自己的信誉,并在在线游戏中更恰当地表现。
- 允许正面反馈和负面反馈。帮助 XBOX 社区或游戏社区的用户可以因其努力而获得奖励,甚至可能获得特殊权限。
- 派生一个单一的整体信誉,由 Reputation.OverallReputation 属性表示,该属性派生自以下信誉类型:
- 公平游戏。由 Reputation.FairplayReputation 属性表示。
- 通信。由 Reputation.CommunicationsReputation 属性表示。
- 用户生成内容 (UGC)。由 Reputation.UserGeneratedContentReputation 属性表示。
信誉服务的使用流程
信誉服务的总体流程分为两个阶段:报告信誉和信誉过滤匹配。报告信誉
当针对特定用户报告了足够多的负面反馈时,游戏会设置 Reputation.OverallReputation 属性 以指示该用户的信誉不佳(JSON 属性 OverallReputationIsBad)。 如果一段时间内没有投诉,用户的信誉会慢慢改善,曾经信誉不佳的用户有可能再次获得良好信誉。信誉过滤匹配
对于由 XBOX 要求 (XR) 指定的信誉过滤匹配,游戏会检索玩家的 Reputation.OverallReputation 属性。此值是一个分数,指示玩家整体信誉的状态。
注意:
如果您的游戏在 JSON 文件中查找 OverallReputationIsBad 属性但未找到,则可以安全地假定该用户信誉良好。
新账户可能出现这种情况,直到处理完针对该用户的反馈。
拥有来自其他用户任何反馈的玩家将始终具有信誉统计信息以及 Reputation.OverallReputation 属性的值。
信誉作为行为指标
信誉提供了用户在系统上行为方式的指标。 例如,此人是否是友好的玩家? 其他会话成员的反馈决定了玩家的信誉。 每个用户在 XBOX Live 上到处都携带着一个信誉分数。 信誉分数在朋友可以看到的社交场所中显眼地展示,以便他们可以对玩家施加同伴压力,使其表现得更好。 例如:- 信誉分数显示在每个用户的个人资料卡上。系统中的任何人都可以单击一次查看用户的个人资料。
- 信誉分数显示在多人游戏中。当用户一起在线玩游戏时,团队的信誉等于团队中信誉最低玩家的信誉。团队只会与具有类似信誉的其他团队匹配。其他玩家使用信誉来决定该游戏中有哪些类型的玩家,并决定他们是否想加入游戏。
信誉的关键要素
游戏可以判断用户是否在公平游戏、通信或用户生成内容 (UGC) 类别上达到了避免我 (Avoid Me) 级别。 如果以下任何一个属性设置为 1,则用户已达到关联类别的避免我级别:- Reputation.OverallReputation 属性。关联的 JSON 属性为 OverallReputationIsBad。
- Reputation.FairplayReputation 属性。关联的 JSON 属性为 FairplayReputationIsBad。
- Reputation.CommunicationsReputation 属性。关联的 JSON 属性为 CommsReputationIsBad。
- Reputation.UserGeneratedContentReputation 属性。关联的 JSON 属性为 UserContentReputationIsBad。
好游戏报告
除了报告用户的不当行为外,用户之间还可以互相发送好游戏报告,这些报告可以在游戏中作为对最有价值玩家的投票创建。反馈历史记录
反馈历史记录报告诸如用户上次被举报的时间以及被举报的原因等信息,例如”最近收到了关于通信方式的反馈”。信誉的 XBOX 要求
XBOX 要求 (XR) 068《按信誉过滤匹配》要求将低信誉玩家与高信誉玩家分开。 这是通过查看玩家的 Reputation.OverallReputation 值以及玩家在用户统计信息中的 OverallReputationIsBad 属性来实现的。 您的游戏可以通过将 “OverallReputation” 传递给 UserStatisticsService.GetSingleUserStatisticsAsync 方法 (String, String, String) 的 statisticName 参数来检索用户的信誉。 WinRT 方法调用 GET (/users/xuid()/scids//stats),如以下 JSON 正文所示。创建整体信誉不佳的用户用于测试
对于测试,可以设置信誉非常差的用户来测试游戏的匹配过滤实现。 要为用户设置特定值,测试游戏或工具会调用 POST (/users/xuid()/resetreputation),并提供一个设置用户特定信誉值的 JSON 文件。 有关详细信息,请参阅 ResetReputation (JSON)。 例如,以下 JSON 正文将用户的公平游戏信誉设置为非常差的值:将用户的信誉重置为默认值
游戏设置 OverallReputationIsBad 属性以指示用户信誉良好。 它调用 POST (/users/me/resetreputation) 并将所有值设置为 75。 对 /users/xuid()/deleteuserdata 的一次调用可用于重置多个 XBOX 用户 ID。 请求正文为:从游戏发送反馈
游戏可以发送有关对局中玩家的公平游戏反馈。 这可以直接从游戏发送,也可以从游戏服务批量发送。 游戏可以使用 ReputationService.SubmitReputationFeedbackAsync 方法或以下直接 REST 方法:
有关提交的示例 JSON 正文以及允许字段的定义,请参阅 Feedback (JSON)。
允许的反馈类型
可以发布的反馈类别在 Feedback (JSON) 中定义。游戏应何时发送反馈
当事件对游戏中的玩家体验产生负面影响时,游戏应发送负面反馈。 作为一般规则,游戏应每种类型每轮游戏只发送一个反馈。 例如,游戏应:- 每轮只针对一个人发送一次 FairPlayKillsTeammates 反馈项以杀死 3 名或更多队友,而不是每次该人杀死队友时都发送一个事件。
- 当有人故意提前退出对局时发送 FairplayQuitter 反馈项。
- 在赛车游戏中当用户逆向行驶时,每场比赛发送一次 FairplayUnsporting 反馈项。
