ユニバーサル Windows プラットフォーム (UWP) アプリにコードを追加して、ユーザーにアプリの評価またはレビューをプログラムで促すことができます。 これを行うには、いくつかの方法があります。
- アプリのコンテキストで評価とレビューダイアログを直接表示できます。
- Microsoft Store でアプリの評価とレビュー ページをプログラムで開くことができます。
評価とレビュー データを分析する準備ができたら、パートナー センターでデータを表示するか、Microsoft Store 分析 API を使用してプログラムでこのデータを取得できます。
Von Bedeutung
アプリ内に評価関数を追加する場合、選択した星評価に関係なく、すべてのレビューでユーザーをストアの評価メカニズムに送信する必要があります。 ユーザーからフィードバックやコメントを収集する場合は、ストアのアプリの評価やレビューには関連せず、アプリ開発者に直接送信されることを明確にする必要があります。 詐欺や不正な活動に関連する詳細については、開発者行動規範を参照してください。
アプリで評価とレビューダイアログを表示する
アプリの評価とレビューの送信を顧客に求めるアプリからのダイアログをプログラムで表示するには、Windows.Services.Store 名前空間で RequestRateAndReviewAppAsync メソッドを呼び出します。
Von Bedeutung
評価とレビューダイアログを表示する要求は、アプリの 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 October 2018 Update (10.0; を対象とするプロジェクト でのみ使用できます。ビルド 17763) または Visual Studio の以降のリリース。
評価とレビュー要求の応答データ
評価とレビューダイアログを表示する要求を送信した後、StoreRateAndReviewResult クラスの ExtendedJsonData プロパティには、要求が成功したかどうかを示す JSON 形式の文字列が含まれます。
次の例は、顧客が評価またはレビューを正常に送信した後の、この要求の戻り値を示しています。
{
"status": "success",
"data": {
"updated": false
},
"errorDetails": "Success"
}
次の例は、顧客が評価またはレビューを送信しないことを選択した後の、この要求の戻り値を示しています。
{
"status": "aborted",
"errorDetails": "Navigation was unsuccessful"
}
次の表では、JSON 形式のデータ文字列のフィールドについて説明します。
フィールド | 説明 |
---|---|
地位 | 顧客が評価またはレビューを正常に送信したかどうかを示す文字列。 サポートされている値は 成功 と 中止です。 |
データ | 単一のブール値 を含むオブジェクトで、これはに更新されました。 この値は、顧客が既存の評価またはレビューを更新したかどうかを示します。 データ オブジェクトは成功応答にのみ含まれます。 |
エラーの詳細 | 要求のエラーの詳細を含む文字列。 |
ストアでアプリの評価とレビュー ページを起動する
プログラムによってアプリの評価とレビュー ページをストアで開く場合は、このコード例で示すように、 URI スキームで ms-windows-store://review
メソッドを使用できます。
bool result = await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store://review/?ProductId=9WZDNCRFHVJL"));
詳細については、「 Microsoft Store アプリを起動する」を参照してください。
評価とレビュー データを分析する
顧客からの評価とレビューデータを分析するには、いくつかのオプションがあります。
- パートナー センターの レビュー レポートを使用して、顧客からの評価とレビューを確認できます。 このレポートをダウンロードしてオフラインで表示することもできます。
- Store Analytics API で アプリの評価を取得 する方法と アプリ レビューを取得 する方法を使用して、JSON 形式で顧客から評価とレビューをプログラムで取得できます。