다음을 통해 공유


콘텐츠에 평점 추가

Important

이제 Economy v2가 일반 공급됩니다. 지원 및 피드백을 받으려면 PlayFab 포럼으로 이동하세요.

이 가이드에서는 평점 및 리뷰 시스템을 게임에 추가하는 데 사용할 수 있는 API 호출을 살펴봅니다.

항목 리뷰

평점 또는 리뷰는 클라이언트에서 ReviewItem API를 호출하여 항목에 연결할 수 있습니다. 아이템을 검토하려면 모든 플레이어의 공개 카탈로그에 아이템이 표시되어야 합니다. 평점 및 리뷰는 API를 호출하는 플레이어에 연결되어 있으며, 플레이어당 단일 리뷰만 항목에 연결될 수 있습니다. 항목 작성자는 자신의 항목에 대한 검토를 제출할 수 없습니다. ReviewItem을(를) 호출할 때마다 리뷰가 업데이트됩니다. 호출에는 다음 데이터가 필요합니다.

  • Id: 검토할 항목의 고유 ID입니다.
  • Rating: 1에서 5 척도 형식의 숫자 등급입니다.

또한 선택적 매개 변수도 추가할 수 있습니다.

  • Title: 리뷰 제목입니다.
  • ReviewText: 리뷰를 제공하는 사용자를 위한 자유 텍스트 필드입니다.
  • IsInstalled: 리뷰를 제공하는 사람에게 해당 항목이 있는 경우를 나타내는 플래그입니다.
  • ItemVersion: 리뷰되는 항목의 버전 숫자입니다.
{
  "Review": {
    "ItemVersion": "2.4.1",
    "Rating": 5,
    "Title": "Best Game Ever",
    "ReviewText": "I play this game every day. It's my favorite game yet.",
    "IsInstalled": true
  },
  "Id": "3f5dd8d4-4ee1-4748-8855-56a8a0277bf9"
}

리뷰가 제출되면 Submitted 타임스탬프가 자동으로 채워지고 업데이트됩니다.

항목에 대한 플레이어의 리뷰 가져오기

클라이언트에서 GetEntityItemReview API를 호출하여 항목에 대한 플레이어의 리뷰를 가져올 수 있습니다. Id 또는 AlternateId 항목을 제공해야 합니다. 리뷰와 연결된 특정 ReviewId이(가) 반환됩니다.

{
    "code": 200,
    "status": "OK",
    "data": {
        "Review": {
            "ReviewId": "730de69c-d6af-f313-4653-09fb14bedeef",
            "ItemId": "3f5dd8d4-4ee1-4748-8855-56a8a0277bf9",
            "ReviewerId": "title_player_account!218870DE55036998",
            "ItemVersion": "2.4.1",
            "Title": "Best Game Ever",
            "ReviewText": "I play this game every day. It's my favorite game yet.",
            "Rating": 5,
            "IsInstalled": true,
            "Locale": "NEUTRAL",
            "HelpfulnessVotes": 0,
            "HelpfulPositive": 0,
            "HelpfulNegative": 0,
            "Submitted": "2021-08-09T06:44:22.569Z"
        }
    }
}

리뷰를 하지 않은 플레이어의 GetEntityItemReview을(를) 호출하면 값이 0인 리뷰 개체가 반환됩니다.

{
    "code": 200,
    "status": "OK",
    "data": {
        "Review": {
            "ReviewId": "00000000-0000-0000-0000-000000000000",
            "Rating": 0,
            "IsInstalled": false,
            "HelpfulnessVotes": 0,
            "HelpfulPositive": 0,
            "HelpfulNegative": 0,
            "Submitted": "0001-01-01T00:00:00Z"
        }
    }
}

항목에 대한 리뷰 가져오기

GetItemReviews API를 호출하여 항목의 텍스트를 포함하는 모든 리뷰에 액세스할 수 있습니다. Id 또는 AlternateId 항목을 제공해야 합니다. 선택적 매개 변수를 추가할 수 있습니다.

  • ContinuationToken: 사용 가능한 경우 항목의 다음 페이지를 검색하는 데 사용되는 불투명 토큰입니다.
  • Count: 검색할 항목의 수입니다. 최대 페이지 크기는 200입니다. 지정하지 않으면 기본값 10을 사용합니다.
  • OrderBy: 쿼리 결과를 정렬하는 데 사용되는 OData orderBy입니다. 가능한 값은 Helpfulness, RatingSubmitted입니다.
{
  "Count": 2,
  "Id": "3f5dd8d4-4ee1-4748-8855-56a8a0277bf9",
  "OrderBy": "Submitted desc"
}

리뷰에 유용성 투표 제출

플레이어는 SubmitItemReviewVote API를 호출하여 리뷰에 유용성 투표를 제출할 수 있습니다. 새로운 유용성 투표를 제출하면 Vote 매개 변수의 부울 값에 따라 HelpfulPositive 또는 HelpfulNegative이(가) 증가합니다.

{
  "ReviewId": "730de69c-d6af-f313-4653-09fb14bedeef",
  "Vote": "Helpful/UnHelpful"
}

리뷰 보고

플레이어는 클라이언트에서 ReportItemReview API를 호출하여 리뷰를 보고할 수 있습니다. ReviewId을(를) 제공해야 합니다. 선택적ConcernCategory 매개 변수를 추가할 수 있습니다.

{
  "ReviewId": "730de69c-d6af-f313-4653-09fb14bedeef",
  "ConcernCategory": "OffensiveContent"
}

지정하지 않으면 ConcernCategory에서 None을(를) 기본값으로 지정합니다. 유효한 ConcernCategory 값은 다음과 같습니다.

  • None
  • OffensiveContent
  • ChildExploitation
  • MalwareOrVirus
  • PrivacyConcerns
  • MisleadingApp
  • PoorPerformance
  • ReviewResponse
  • SpamAdvertising
  • Profanity

ReportItemReview(을)를 호출하면 이벤트 이름 item_reported 아래 PlayStream 이벤트 발생합니다. 게임 관리자에서 데이터 탐색기를 사용하여 쿼리합니다. 예제 쿼리는 아래에서 볼 수 있습니다.

다음 쿼리는 지난 3일 동안 ItemId당 ConcernCategory의 총 보고 수를 반환합니다.

['events.all']
| where Timestamp > ago (3d)
| where FullName_Name == "review_reported"
| project ReviewId = tostring(EventData.Payload.ReviewId), ConcernCategory = tostring(EventData.Payload.ConcernCategory)
| summarize TotalReportCount = count() by ReviewId, ConcernCategory
| sort by TotalReportCount desc
| render columnchart kind=stacked

리뷰 내리기

TakedownItemReviews API를 사용하여 하나 이상의 리뷰 내리기 요청을 제출할 수 있습니다. 이 API는 타이틀 엔터티에서만 호출할 수 있습니다. 호출이 내려야 하는 리뷰 집합을 내립니다.

{
  "Reviews": [
    {
      "ItemId": "3f5dd8d4-4ee1-4748-8855-56a8a0277bf9",
      "ReviewId": "730de69c-d6af-f313-4653-09fb14bedeef"
    }
  ]
}

참고 항목

요청 처리로 인해 리뷰가 내려질 때까지 최대 24시간이 지연될 수 있습니다.

평가 디자인 및 캐싱

평가를 받는 두 가지 방법이 있습니다. 두 경로의 차이점은 검토와 직접 상호 작용하는지 또는 카탈로그 항목과 상호 작용하는지 여부입니다.

  1. 평가를 직접 제공합니다(GetItemReviews 등을 통해).
  2. 카탈로그 항목에서 평가 집계를 제공합니다(SearchItems 등을 통해).

두 경로 모두 비동기식이며 이해해야 할 중요한 타이밍 지연이 있습니다.

직접 평가(GetItemReviews 등)

이 모든 평가와 리뷰는 직접 제공됩니다. 여기에는 두 가지 범주의 대기 시간이 있습니다.

  1. 개별 리뷰 - 거의 실시간
    개별 검토는 즉시 사용할 수 없지만 몇 초 내에 표시됩니다. 새로운 검토를 읽기 위해서는 백오프를 사용하여 다시 시도하는 것으로 충분할 것으로 예상됩니다.
  2. 집계 등급 - 15분 미만 집계를 위한 캐시가 있습니다.

카탈로그 항목 등급(SearchItems 등)

이러한 모든 등급은 게시된 카탈로그의 카탈로그 항목의 일부로 제공됩니다.

  1. 종합 평가 - 8시간 미만
    시스템은 등급을 집계하고 업데이트를 카탈로그에 푸시합니다. 업데이트에는 4~8시간이 소요될 수 있습니다.