평판 개요
평판은 여타 다른 통계와 같은 사용자 통계이며, 사용자의 모든 통계를 검색하여 이것을 보고 및 추적에 사용하는 여러 가지 호출에 포함됩니다.
- Reputation 클래스는 평판을 나타냅니다.
- ReputationService 클래스는 평판 서비스를 나타냅니다.
- 해당 URI는 Reputation URI에 기술됩니다.
Important
평판 통계는 특정 타이틀에 한정되지 않고 서비스 전반에 걸쳐 적용됩니다. 서비스를 위한 서비스 구성 ID(SCID)는 평판 통계 액세스에 사용되는 전역 SCID입니다.
평판 기능
- 피드백과 불만 사항을 동일한 방식으로 처리합니다. 엔터티가 사용자에 대해 피드백을 제출하면 이 피드백이 그 사용자의 평판에 영향을 줍니다. 그 다음, 추가 조치를 위해 이 피드백을 규정 집행 팀에 전달할 수 있습니다.
- 사용자가 다른 사용자들에 대한 피드백을 제시하게 해줍니다. 타이틀은 피드백을 자동으로 제출할 수 있습니다.
- 타이틀이 API에 직접 액세스하게 해줍니다. 사용자가 게임 내에서, 그리고 사용자가 현재 위치하는 게임 영역의 컨텍트트 내에서 직접 피드백을 제출할 수 있습니다.
- 평판이 낮을 경우 사용자가 Xbox Live와 타이틀에서 할 수 있는 것에 영향을 받도록 처리합니다. 따라서 사용자는 자신의 평판에 신경을 써가며 온라인 플레이 시 더 조심해서 행동해야 합니다.
- 부정적인 피드백뿐 아니라 긍정적인 피드백도 허용합니다. Xbox 커뮤니티나 타이틀의 커뮤니티에 도움을 주는 사용자는 그 노력에 따른 보상을 받을 수 있으며 특수 권한도 받을 수 있습니다.
- Reputation.OverallReputation 속성으로 표현되는 하나의 전체적인 평판을 도출하는데, 이것은 다음과 같은 평판 유형으로부터 도출됩니다.
- 공정한 플레이. Reputation.FairplayReputation 속성으로 표현됩니다.
- 커뮤니케이션. Reputation.CommunicationsReputation 속성으로 표현됩니다.
- 사용자 생성 콘텐츠(UGC). Reputation.UserGeneratedContentReputation 속성으로 표현됩니다.
자세한 내용은 ResetReputation(JSON)을 참조하세요.
평판 서비스의 사용 흐름
평판 서비스의 전체적인 흐름은 평판 신고와 평판에 따라 필터링되는 매치 메이킹이라는 두 단계로 이루어집니다.
평판 보고
특정 사용자에 대한 부정적인 피드백이 일정량 보고되면 타이틀은 Reputation.OverallReputation Property를 설정하여 그 사용자의 평판이 나쁘다는 것을 표시합니다(JSON 특성 OverallReputationIsBad). 사용자에 대한 불만 사항이 없이 시간이 지나면 사용자의 평판이 차츰 개선되며, 전에 평판이 나빴던 사용자가 다시 좋은 평판을 얻을 수 있습니다.
평판 필터링 매치 메이킹
평판에 따라 필터링되는 매치 메이킹은 Xbox 요건(XR)에 의해 지정되는데, 이 경우 타이틀은 플레이어의 Reputation.OverallReputation 속성을 검색합니다. 이 값은 플레이어의 전반적인 평판을 나타내는 점수입니다.
참고:
타이틀이 JSON 파일에서OverallReputationIsBad
특성을 검색하다가 찾지 못할 경우, 그 사용자는 평판이 괜찮다고 가정해도 좋습니다. 새 계정의 경우에 그 사용자에 대한 피드백이 처리되기 전까지는 이런 일이 발생할 수 있습니다. 다른 사용자들로부터 피드백을 받은 플레이어의 경우 항상 평판 통계가 존재하고 Reputation.OverallReputation 속성에 대한 값이 존재합니다.
행동 표시기인 평판
평판은 그 사용자가 시스템에서 어떻게 행동하는지에 대한 지표를 제공합니다. 예를 들어, 그 사람이 친한 플레이어인지 아닌지를 나타냅니다. 다른 세션 멤버의 피드백이 플레이어의 평판을 결정합니다.
각 사용자에는 Xbox Live의 모든 곳에서 그 사용자를 따라가는 평판 점수가 있습니다. 평판 점수는 친구들이 볼 수 있는 소셜 공간에 두드러지게 노출됨으로써 플레이어로 하여금 행동을 더 잘 하도록 동조 압력(peer pressure)을 가할 수 있습니다.
예:
- 모든 사용자의 프로필 카드에 평판 점수가 표시됩니다. 시스템에 있는 모든 사람이 클릭 한 번으로 다른 사용자의 프로필을 볼 수 있습니다.
- 멀티 플레이어 게임 시 평판 점수가 표시됩니다. 사용자들이 온라인에서 함께 플레이할 경우, 그 그룹의 평판은 그룹에서 평판이 가장 낮은 플레이어의 평판과 동일하게 나타납니다. 이 그룹은 꼭 평판이 비슷한 다른 그룹과 매칭됩니다. 다른 플레이어는 평판을 사용하여 플레이어가 그 게임에서 어떤 사람인지 판단하고 게임 참가 여부를 판단합니다.
평판의 핵심 요소
타이틀은 사용자가 공정한 플레이, 커뮤니케이션, 또는 사용자 생성 콘텐츠(UGC) 범주에서 '피하고 싶은 플레이어' 수준에 도달했는지 여부를 결정할 수 있습니다.
다음 속성들 중 하나라도 1로 설정될 경우, 그 사용자는 해당 범주에서 '피하고 싶은 플레이어' 수준에 도달한 것입니다.
- Reputation.OverallReputation 속성. 여기에 해당하는 JSON 특성은 OverallReputationIsBad입니다.
- Reputation.FairplayReputation 속성. 여기에 해당하는 JSON 특성은 FairplayReputationIsBad입니다.
- Reputation.CommunicationsReputation 속성. 여기에 해당하는 JSON 특성은 CommsReputationIsBad입니다.
- Reputation.UserGeneratedContentReputation 속성. 여기에 해당하는 JSON 특성은 UserContentReputationIsBad입니다.
바람직한 게임 보고
행실이 나쁜 사용자를 신고하는 것 이외에, 사용자들은 서로 즐겁게 플레이했던 게임에 대해 보고를 할 수 있는데, 이것은 타이틀 내에서 MVP를 투표하는 형태로 이루어질 수 있습니다.
피드백 기록
사용자가 언제 마지막으로 신고되었고 그 사람이 어떤 내용으로 신고되었는지 등과 같은 피드백 기록 보고 정보입니다(예: "최근 커뮤니케이션 방식 문제로 피드백을 받음").
평판에 대한 Xbox 요건
Xbox 요건(XR) 068, 평판에 따른 매치 메이킹 필터링은 평판이 낮은 플레이어들을 평판이 높은 프레이어들과 구분할 것을 요구합니다. 이것은 사용자 통계에서 플레이어의 Reputation.OverallReputation 값과 플레이어의 OverallReputationIsBad 특성을 살펴봄으로써 이루어집니다.
타이틀은 UserStatisticsService.GetSingleUserStatisticsAsync 메서드(문자열, 문자열, 문자열)의 statisticName 매개 변수에 "OverallReputation"을 전달함으로써 사용자의 평판을 검색할 수 있습니다. 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을 제외한 모든 샌드박스에서 이 호출을 할 수 있습니다. 이 요청은 사용자의 기본 평판 점수를 설정하여, 이 플레이어의 긍정적인 피드백에 대한 가중치가 다시 0이 됩니다.
이 호출 이후에 이 사용자의 실제 평판은 이와 같은 기본 점수에 플레이어의 전문가 보너스와 플레이어의 팔로워 보너스를 합한 점수로 구성됩니다. 이러한 메커니즘은 Match Filter XR에서 테스트하기 위해 점수가 낮고 Reputation.OverallReputation이 1로 설정된 사용자를 생성합니다.
타이틀은 이 문서의 "평판에 대한 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)에서 정의합니다.
타이틀이 피드백을 전송해야 하는 경우
특정 이벤트가 게임 내 플레이어 경험에 부정적인 영향을 미칠 경우 타이틀은 부정적인 피드백을 전송해야 합니다. 일반적으로 타이틀은 유형별, 그리고 플레이되는 라운드당 하나의 피드백만 전송해야 합니다.
예를 들어, 타이틀은
사용자가 팀원 한 명을 죽일 때마다 하나의 이벤트를 전송하는 것이 아니라 그 사용자가 라운드당 3명 이상의 팀원을 죽일 때 하나의 FairPlayKillsTeammates 피드백 항목을 전송해야 합니다.
누군가가 의도적으로 매치에서 일찍 나갈 경우 FairplayQuitter 피드백 항목을 전송해야 합니다.
레이싱 게임에서 사용자가 뒤로 달릴 경우 레이싱당 한 번 FairplayUnsporting 피드백 항목을 전송해야 합니다.