Compartilhar via


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.