要求為應用程式評等和評論
您可以將程式碼新增至您的通用 Windows 平台 (UWP) 應用程式,以程式設計方式來提示您的客戶為應用程式評等或評論。 有數種方法能可以完成此動作:
- 您可以直接在應用程式的內容中顯示評等和評論對話方塊。
- 您可以在 Microsoft Store 中以程式設計方式開啟您應用程式的評等和評論頁面。
當您準備好分析評等和評論資料時,您可以在合作夥伴中心檢視資料,或使用 Microsoft Store 分析 API 以程式設計方式擷取此資料。
重要
在應用程式中新增評等函式時,所有評論都必須將使用者傳送至 Store 的評等機制,而不論所選的星級評等為何。 如果您從使用者收集意見反應或留言,則必須清楚標明其與 Store 中的應用程式評等或評論無關,而會直接傳送給應用程式開發人員。 如需詐騙或不誠實活動的詳細資訊,請參閱開發人員管理辦法。
在您的應用程式中顯示評等和評論對話方塊
若要以程式設計方式顯示來自您應用程式的對話方塊,要求客戶為您的應用程式評等並提交評論,請在 Windows.Services.Store 命名空間中呼叫 RequestRateAndReviewAppAsync 方法。
重要
您必須在應用程式的 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 推出,且僅供用於在 Visual Studio 中以 Windows 10 2018 年 10 月更新 (10.0,組建 17763) 或更新版本為目標的專案。
評等和評論要求的回應資料
提交要求以顯示評等和評論對話方塊之後,StoreRateAndReviewResult 類別的 ExtendedJsonData 屬性中會包含 JSON 格式化的字串,指出要求是否成功。
下列範例示範客戶成功提交評等或評論之後,此要求的傳回值。
{
"status": "success",
"data": {
"updated": false
},
"errorDetails": "Success"
}
下列範例示範客戶選擇不提交評等或評論之後,此要求的傳回值。
{
"status": "aborted",
"errorDetails": "Navigation was unsuccessful"
}
下表列資料表描述 JSON 格式化資料字串中的欄位。
欄位 | 描述 |
---|---|
status | 指出客戶是否成功提交評等或評論的字串。 支援的值是 success 和 aborted。 |
data | 包含名為 updated 的單一布林值物件。 此值指出客戶是否已更新現有的評等或評論。 data 物件只會包含在成功回應中。 |
errorDetails | 包含要求的錯誤詳細資料字串。 |
在 Store 中啟動您應用程式的評等和評論頁面
如果您想要以程式設計方式在 Store 中開啟應用程式的評等和評論頁面,您可以使用 LaunchUriAsync 方法搭配 ms-windows-store://review
URI 配置,如此程式碼範例所示。
bool result = await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store://review/?ProductId=9WZDNCRFHVJL"));
如需詳細資訊,請參閱啟動 Microsoft Store 應用程式。
分析您的評等和評論資料
若要分析客戶的評等和評論資料,您有數個選項:
- 您可以使用合作夥伴中心的評論報告來查看客戶的評等和評論。 您也可以下載此報告來離線檢視。
- 您可以使用 Store 分析 API 中的取得應用程式評等和取得應用程式評論方法,以程式設計方式從客戶擷取 JSON 格式的評等和評論。