Solicitar classificações e avaliações para seu aplicativo
Você pode adicionar código ao seu aplicativo UWP (Plataforma Universal do Windows) para solicitar programaticamente que seus clientes avaliem ou revisem seu aplicativo. Existem várias maneiras de fazer isso:
- Você pode mostrar uma caixa de diálogo de classificação e revisão diretamente no contexto do seu aplicativo.
- Você pode abrir programaticamente a página de classificação e revisão do seu aplicativo na Microsoft Store.
Quando estiver pronto para analisar seus dados de classificações e avaliações, você poderá exibir os dados no Partner Center ou usar a API de análise da Microsoft Store para recuperar esses dados programaticamente.
Importante
Ao adicionar uma função de classificação em seu aplicativo, todas as avaliações devem enviar o usuário para os mecanismos de classificação da Loja, independentemente da classificação por estrelas escolhida. Se você coletar comentários ou comentários dos usuários, deve ficar claro que eles não estão relacionados à classificação ou às avaliações do aplicativo na Loja, mas são enviados diretamente ao desenvolvedor do aplicativo. Consulte o Código de Conduta do Desenvolvedor para obter mais informações relacionadas a Atividades Fraudulentas ou Desonestas.
Mostrar uma caixa de diálogo de classificação e revisão em seu aplicativo
Para mostrar programaticamente uma caixa de diálogo do seu aplicativo que solicita que o cliente classifique seu aplicativo e envie uma revisão, chame o método RequestRateAndReviewAppAsync no namespace Windows.Services.Store .
Importante
A solicitação para mostrar a caixa de diálogo de classificação e revisão deve ser chamada no thread da interface do usuário em seu aplicativo.
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;
}
}
O método RequestRateAndReviewAppAsync foi introduzido no Windows 10, versão 1809 e só pode ser usado em projetos direcionados à Atualização de outubro de 2018 do Windows 10 (10.0; Build 17763) ou uma versão posterior no Visual Studio.
Dados de resposta para a solicitação de classificação e revisão
Depois de enviar a solicitação para exibir a caixa de diálogo de classificação e revisão, a propriedade ExtendedJsonData da classe StoreRateAndReviewResult contém uma cadeia de caracteres formatada em JSON que indica se a solicitação foi bem-sucedida.
O exemplo a seguir demonstra o valor retornado para essa solicitação depois que o cliente envia com êxito uma classificação ou avaliação.
{
"status": "success",
"data": {
"updated": false
},
"errorDetails": "Success"
}
O exemplo a seguir demonstra o valor retornado para essa solicitação depois que o cliente opta por não enviar uma classificação ou avaliação.
{
"status": "aborted",
"errorDetails": "Navigation was unsuccessful"
}
A tabela a seguir descreve os campos na cadeia de caracteres de dados formatada em JSON.
Campo | Descrição |
---|---|
status | Uma string que indica se o cliente enviou com êxito uma classificação ou avaliação. Os valores suportados são success e aborted. |
data | Um objeto que contém um único valor booleano chamado updated. Esse valor indica se o cliente atualizou uma classificação ou avaliação existente. O objeto de dados é incluído somente nas respostas de sucesso. |
errorDetails | Uma cadeia de caracteres que contém os detalhes do erro da solicitação. |
Inicie a página de classificação e revisão do seu aplicativo na Loja
Se você quiser abrir programaticamente a página de classificação e revisão do seu aplicativo na Loja, poderá usar o método LaunchUriAsync com o ms-windows-store://review
esquema de URI, conforme demonstrado neste exemplo de código.
bool result = await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store://review/?ProductId=9WZDNCRFHVJL"));
Para obter mais informações, consulte Iniciar o aplicativo da Microsoft Store.
Analise seus dados de classificações e avaliações
Para analisar os dados de classificações e avaliações de seus clientes, você tem várias opções:
- Você pode usar o relatório Avaliações no Partner Center para ver as classificações e avaliações de seus clientes. Você também pode baixar este relatório para exibi-lo offline.
- Você pode usar os métodos Obter classificações de aplicativos e Obter avaliações de aplicativos na API de análise da Loja para recuperar programaticamente as classificações e avaliações de seus clientes no formato JSON.