复制概述

与任何其他信息一样,信誉是一项用户统计信息,它包含在调用中,用来检索所有用户统计信息,并使用这些信息来报告和跟踪。

  • Reputation 类表示信誉。
  • ReputationService 类表示信誉服务。
  • 相应的 URI 在信誉 URI 中描述。

重要

信誉统计信息是跨整个服务的全局信息,不与特定游戏关联。 服务的服务配置 ID (SCID) 是用于访问信誉统计信息的全局 SCID。

信誉功能

  • 通过相同方式处理反馈和投诉。 实体提交关于用户的反馈,此反馈将影响用户的信誉。 反馈随后可以转发给执行团队以采取进一步操作。
  • 允许用户提供有关其他用户的反馈。 游戏可以自动提交反馈。
  • 允许游戏直接访问 API。 用户可以直接从游戏内以及用户当时所在的游戏区域的上下文内提交反馈。
  • 处理为低信誉,因为这会影响用户可在 Xbox Live 上和游戏内执行的操作。 因此用户必须留意其信誉,当进行在线游戏时让自己的行为更加得当。
  • 允许正面的反馈和负面的反馈。 帮助 Xbox 社区或游戏社区的用户所付出的努力可以获得奖励,并且他们将被授予特殊权限。
  • 派生一个由 Reputation.OverallReputation 属性表示的总体信誉,它派生自以下信誉类型:
    • 公平比赛。 由 Reputation.FairplayReputation 属性表示。
    • 沟通。 由 Reputation.CommunicationsReputation 属性表示。
    • 用户生成的内容 (UGC)。 由 Reputation.UserGeneratedContentReputation 属性表示。

有关详细信息,请参阅 ResetReputation (JSON)

信誉服务的使用流

信誉服务的整体流有两个阶段:报告信誉和使用信誉筛选出的匹配。

报告信誉

当某个用户被报告了一定数量的负面反馈时,游戏会设置 Reputation.OverallReputation 属性,以指示该用户信誉较差(JSON 属性 OverallReputationIsBad)。 如果给定时间内未收到投诉,用户信誉将缓慢提高,信誉曾经较差的用户有可能再次获得良好信誉。

使用信誉筛选出的匹配

对于由 Xbox 要求 (XR) 指定的使用信誉筛选出的匹配,游戏将检索玩家的 Reputation.OverallReputation 属性。 此值是指示玩家整体信誉状态的评分。

注意:
如果游戏正在 JSON 文件中查找 OverallReputationIsBad 属性且未找到,则可以放心假定该用户信誉良好。 在处理完用户的反馈之前,新账户可能出现这种情况。 获得来自其他用户的反馈的玩家会始终具有信誉统计信息,以及 Reputation.OverallReputation 属性值。

充当行为指示器的信誉

信誉提供了指示用户在系统上的行为方式的指示器。 例如,该用户是否是友好玩家? 来自其他会话成员的反馈将确定玩家的信誉。

每个用户都有一个信誉评分,可随此人显示在 Xbox Live 中的任何位置。 信誉评分会在好友能够看到的社交位置醒目地展示,以便向玩家施加同伴压力,让他们改良自己的行为。

例如:

  • 每个用户的档案卡上显示信誉评分。 系统中的任何人只需单击一下即可查看用户档案。
  • 信誉评分显示在多人游戏中。 当用户在线一起玩游戏时,组信誉等于组中信誉最低的玩家的信誉。 该组仅与信誉相当的其他人匹配。 其他玩家使用信誉来确定该游戏中的玩家属于什么类型,并决定是否要加入该游戏。

信誉的关键元素

游戏可以确定用户是否已达到公平比赛、沟通或用户生成的内容 (UGC) 类别的“避开我”级别。

如果以下任何一个属性被设置为 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 方法(字符串,字符串,字符串)statisticName 参数来检索用户信誉。 WinRT 方法调用以下 JSON 正文中显示的 GET (/users/xuid({xuid})/scids/{scid}/stats)

    {
      "requestedusers": [
        "2533274792693551"
      ],
      "requestedscids": [
        {
          "scid": "7492baca-c1b4-440d-a391-b7ef364a8d40",
          "requestedstats": [
            "OverallReputationIsBad",
            "FairplayReputationIsBad",
            "CommsReputationIsBad",
            "UserContentReputationIsBad"
          ]
        }
      ]
    }

当来自其他玩家的用户反馈达到较低级别时,该用户的 OverallReputationIsBad 会被设置为 1。 Reputation.OverallReputation 为 1 的用户只会与其他 OverallReputation 设置为 1 的用户匹配。

默认情况下,当用户进入匹配时,他们通常无需接触信誉较低的用户。 游戏可以视情况允许信誉良好的玩家选择加入与低信誉玩家的匹配。

要获取适用于信誉的最新 XR 版本,请参阅 Xbox 要求

创建整体信誉较差的用户进行测试

为了进行测试,可以设置信誉极差的用户来测试游戏的匹配筛选实现情况。 为设置特定用户值,测试游戏或工具使用设置用户特定信誉值的 JSON 文件调用 POST (/users/xuid({xuid})/resetreputation)。 有关详细信息,请参阅 ResetReputation (JSON)

例如,以下 JSON 正文将用户的公平比赛信誉设置为一个极差的值:

    {
      "fairplayReputation": 5,
      "commsReputation": 75,
      "userContentReputation": 75
    }

合作伙伴可以对除 RETAIL 沙盒以外的所有沙盒进行此调用。 此请求用于设置用户的基本信誉评分,玩家的正面反馈权重将全部归零。

此调用后用户的实际信誉将由这些基本评分,以及玩家的大使奖金和关注者奖金组成。 此机制创建低评分和设置为 1 的 Reputation.OverallReputation 的用户来测试匹配筛选 XR。

游戏可以从用户统计信息服务获取用户的信誉评分,如本文的“Xbox 的信誉要求”部分所述。

将用户信誉重置为默认值

游戏设置 OverallReputationIsBad 属性来指示用户拥有良好信誉。 它调用 POST (/users/me/resetreputation) 并将所有值都设置为 75。 对 /users/xuid({xuid})/deleteuserdata 的一次调用可以用来重置多个 Xbox 用户 ID。

请求正文是:

    {
      "xuids": [
        "2814659110958830"
      ]
    }

从游戏中发送反馈

游戏可以发送有关匹配中玩家的公平比赛反馈。 上述操作可以直接从游戏或游戏服务中分批实现。

游戏可以使用 ReputationService.SubmitReputationFeedbackAsync 方法或以下直接 REST 方法:

方法 终结点
客户端 POST https://reputation.xboxlive.com/users/xuid{XUID}/feedback
服务(批)POST https://reputation.xboxlive.com:10443/users/batchfeedback

请参阅反馈 (JSON) 查看用于提交的 JSON 正文示例和允许字段的定义。

允许的反馈类型

可以发布的反馈类别在反馈 (JSON) 中定义。

游戏何时应发送反馈

当事件在游戏中对玩家体验造成负面影响时,游戏应发送负面反馈。 一般情况下,在每一轮游戏中,对于每种类型,游戏只会发送一个反馈。

例如,游戏应该:

  1. 在一轮游戏中为杀死 3 名或更多队友的用户只发送一个 FairPlayKillsTeammates 反馈项目,而不是该用户每杀死一名队友就发送一个事件。

  2. 当某人有目的地提前退出匹配时发送 FairplayQuitter 反馈项目。

  3. 当用户在赛车游戏中向相反方向驾驶时发送 FairplayUnsporting 反馈项目,每次比赛发送一次。

另请参阅