다음을 통해 공유


앱에 대한 평점 및 리뷰 요청

UWP(유니버설 Windows 플랫폼) 앱에 코드를 추가하여 앱에 대한 평점과 리뷰를 지정하도록 프로그래밍 방식으로 고객에게 메시지를 표시할 수 있습니다. 이 작업을 수행할 수 있는 여러 가지 방법이 있습니다.

  • 앱의 컨텍스트에서 평점 및 리뷰 대화 상자를 직접 표시할 수 있습니다.
  • 프로그래밍 방식으로 Microsoft Store에서 앱의 평점 및 리뷰 페이지를 열 수 있습니다.

평점 및 리뷰 데이터를 분석할 준비가 되면 파트너 센터에서 데이터를 볼 수 있거나 Microsoft Store 분석 API를 사용하여 프로그래밍 방식으로 이 데이터를 검색할 수 있습니다.

Important

앱 내에서 평점 함수를 추가하는 경우 선택한 평가 등급에 관계 없이 모든 리뷰는 사용자를 Microsoft Store 평점 메커니즘으로 보내야 합니다. 사용자로부터 피드백 또는 댓글을 수집하는 경우 Microsoft Store의 앱 등급이나 리뷰와 관련이 없고 앱 개발자에게 직접 전달된다는 것을 분명히 해야 합니다. 사기성 또는 정직 작업과 관련 된 자세한 내용은 개발자를 위한 개발자 준수 사항을 참조하세요.

앱에서 평점 및 리뷰 대화 상자 표시

고객에게 앱에 대한 평점을 지정하고 리뷰를 제출하도록 요청하는 대화 상자를 앱에서 프로그래밍 방식으로 표시하려면 Windows.Services.Store 네임스페이스의 RequestRateAndReviewAppAsync 메서드를 호출합니다.

Important

평점 및 리뷰 대화 상자를 표시하라는 요청은 앱의 UI 스레드에서 호출되어야 합니다.

using Windows.ApplicationModel.Store;

private StoreContext _storeContext;

public async Task Initialize()
{
    if (App.IsMultiUserApp) // pseudo-code
    {
        IReadOnlyList<User> users = await User.FindAllAsync();
        User firstUser = users[0];
        _storeContext = StoreContext.GetForUser(firstUser);
    }
    else
    {
        _storeContext = StoreContext.GetDefault();
    }
}

private async Task PromptUserToRateApp()
{
    // Check if we’ve recently prompted user to review, we don’t want to bother user too often and only between version changes
    if (HaveWePromptedUserInPastThreeMonths())  // pseudo-code
    {
        return;
    }

    StoreRateAndReviewResult result = await 
        _storeContext.RequestRateAndReviewAppAsync();

    // Check status
    switch (result.Status)
    { 
        case StoreRateAndReviewStatus.Succeeded:
            // Was this an updated review or a new review, if Updated is false it means it was a users first time reviewing
            if (result.UpdatedExistingRatingOrReview)
            {
                // This was an updated review thank user
                ThankUserForReview(); // pseudo-code
            }
            else
            {
                // This was a new review, thank user for reviewing and give some free in app tokens
                ThankUserForReviewAndGrantTokens(); // pseudo-code
            }
            // Keep track that we prompted user and don’t do it again for a while
            SetUserHasBeenPrompted(); // pseudo-code
            break;

        case StoreRateAndReviewStatus.CanceledByUser:
            // Keep track that we prompted user and don’t prompt again for a while
            SetUserHasBeenPrompted(); // pseudo-code

            break;

        case StoreRateAndReviewStatus.NetworkError:
            // User is probably not connected, so we’ll try again, but keep track so we don’t try too often
            SetUserHasBeenPromptedButHadNetworkError(); // pseudo-code

            break;

        // Something else went wrong
        case StoreRateAndReviewStatus.OtherError:
        default:
            // Log error, passing in ExtendedJsonData however it will be empty for now
            LogError(result.ExtendedError, result.ExtendedJsonData); // pseudo-code
            break;
    }
}

RequestRateAndReviewAppAsync 메서드는 Windows 10, 버전 1809에 도입되었으며 Windows 10 2018년 10월 업데이트(10.0, 빌드 17763) 또는 Visual Studio의 최신 릴리스를 대상으로 하는 프로젝트에만 사용할 수 있습니다.

평점 및 리뷰 요청에 대한 응답 데이터

평점 및 리뷰 대화 상자를 표시하라는 요청을 제출하면 StoreRateAndReviewResult 클래스의 ExtendedJsonData 속성에 요청이 성공했는지 여부를 표시하는 JSON 형식 문자열이 포함됩니다.

다음 예제에서는 고객이 평점이나 리뷰를 제출한 후의 이 요청에 대한 반환 값에 대해 설명합니다.

{ 
  "status": "success", 
  "data": {
    "updated": false
  },
  "errorDetails": "Success"
}

다음 예제에서는 고객이 평점이나 리뷰를 제출하지 않도록 선택한 후의 이 요청에 대한 반환 값에 대해 설명합니다.

{ 
  "status": "aborted", 
  "errorDetails": "Navigation was unsuccessful"
}

다음 표에서는 JSON 형식 데이터 문자열의 필드에 대해 설명합니다.

필드 설명
status 고객이 평점 또는 리뷰를 성공적으로 제출했는지 여부를 나타내는 문자열입니다. 지원되는 값은 successaborted입니다.
data 이름이 updated인 단일 부울 값이 포함된 개체입니다. 이 값은 고객이 기존 평점 또는 리뷰를 업데이트했는지 여부를 나타냅니다. data 개체는 성공 응답에만 포함됩니다.
errorDetails 요청에 대한 오류 세부 정보가 있는 문자열입니다.

Microsoft Store에서 앱의 평점 및 리뷰 페이지 시작

Microsoft Store에서 앱의 평점 및 리뷰 페이지를 프로그래밍 방식으로 열고 싶은 경우 이 코드 예제에서 설명된 대로 ms-windows-store://review URI 스키마와 함께 LaunchUriAsync 메서드를 사용할 수 있습니다.

bool result = await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store://review/?ProductId=9WZDNCRFHVJL"));

자세한 내용은 Microsoft Store 앱 실행을 참조하세요.

평점 및 리뷰 데이터 분석

고객의 평점 및 리뷰 데이터를 분석하는 데 몇 가지 옵션이 있습니다.

  • 파트너 센터에서 리뷰 보고서를 사용하여 고객의 평점 및 리뷰를 확인할 수 있습니다. 이 보고서를 다운로드하여 오프라인에서 볼 수도 있습니다.
  • Microsoft Store 분석 API에서 앱 평점 가져오기앱 리뷰 가져오기 메서드를 사용하여 JSON 형식으로 된 고객의 평점 및 리뷰를 프로그래밍 방식으로 검색할 수 있습니다.