앱에 대한 평점 및 리뷰 요청
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 | 고객이 평점 또는 리뷰를 성공적으로 제출했는지 여부를 나타내는 문자열입니다. 지원되는 값은 success 및 aborted입니다. |
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 형식으로 된 고객의 평점 및 리뷰를 프로그래밍 방식으로 검색할 수 있습니다.