Condividi tramite


Richiedere valutazioni e recensioni per l'app

Puoi aggiungere codice alla tua app UWP (Universal Windows Platform) per richiedere ai tuoi clienti di valutare o rivedere la tua app a livello di codice. È possibile eseguire questa operazione in diversi modi:

  • Puoi visualizzare una finestra di dialogo di valutazione e revisione direttamente nel contesto della tua app.
  • Puoi aprire a livello di codice la pagina di valutazione e revisione per la tua app in Microsoft Store.

Quando si è pronti per analizzare le valutazioni e i dati delle recensioni, è possibile visualizzare i dati nel Centro per i partner o usare l'API di analisi di Microsoft Store per recuperare questi dati a livello di codice.

Importante

Quando si aggiunge una funzione di classificazione all'interno dell'app, tutte le recensioni devono inviare l'utente ai meccanismi di classificazione dello Store, indipendentemente dalla classificazione a stella scelta. Se si raccolgono feedback o commenti dagli utenti, deve essere chiaro che non è correlato alla valutazione o alle recensioni dell'app nel negozio, ma viene inviato direttamente allo sviluppatore dell'app. Per ulteriori informazioni relative alle attività fraudolente o disoneste , consultare il Codice di Condotta per Sviluppatori.

Visualizzare una finestra di dialogo di valutazione e revisione nell'app

Per visualizzare a livello di codice una finestra di dialogo dall'app che chiede al cliente di valutare l'app e inviare una recensione, chiamare il metodo RequestRateAndReviewAppAsync nello spazio dei nomi Windows.Services.Store.

Importante

La richiesta di visualizzare la finestra di dialogo per la valutazione e revisione deve essere chiamata nel thread dell'interfaccia utente nella tua app.

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;
    }
}

Il metodo RequestRateAndReviewAppAsync è stato introdotto in Windows 10, versione 1809 e può essere usato solo nei progetti destinati Aggiornamento di Windows 10 ottobre 2018 (10.0; Build 17763) o versione successiva in Visual Studio.

Dati di risposta per la valutazione e la richiesta di revisione

Dopo aver inviato la richiesta per visualizzare la finestra di dialogo di valutazione e revisione, la proprietà ExtendedJsonData della classe StoreRateAndReviewResult contiene una stringa in formato JSON che indica se la richiesta ha avuto esito positivo.

L'esempio seguente illustra il valore restituito per questa richiesta dopo che il cliente ha inviato correttamente una valutazione o una revisione.

{ 
  "status": "success", 
  "data": {
    "updated": false
  },
  "errorDetails": "Success"
}

L'esempio seguente illustra il valore restituito per questa richiesta dopo che il cliente sceglie di non inviare una valutazione o una recensione.

{ 
  "status": "aborted", 
  "errorDetails": "Navigation was unsuccessful"
}

La tabella seguente descrive i campi nella stringa di dati in formato JSON.

Campo Descrizione
stato Stringa che indica se il cliente ha inviato correttamente una valutazione o una recensione. I valori supportati sono successo e interrotto.
dati Oggetto contenente un singolo valore booleano denominato aggiornato. Questo valore indica se il cliente ha aggiornato una valutazione o una revisione esistente. L'oggetto dati è incluso solo nelle risposte riuscite.
errorDetails Una stringa che contiene i dettagli dell'errore per la richiesta.

Avviare la pagina di valutazione e revisione per l'app nello Store

Se vuoi aprire la pagina di valutazione e revisione a livello di codice per la tua app nello Store, puoi usare il metodo LaunchUriAsync con lo schema URI , come illustrato in questo esempio di codice.

bool result = await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store://review/?ProductId=9WZDNCRFHVJL"));

Per altre informazioni, vedere Avviare l'app di Microsoft Store.

Analizzare le valutazioni e i dati delle recensioni

Per analizzare le valutazioni e i dati delle recensioni dei clienti, sono disponibili diverse opzioni:

  • È possibile usare il report recensioni nel Centro per i partner per visualizzare le valutazioni e le recensioni dei clienti. È anche possibile scaricare questo report per visualizzarlo offline.
  • È possibile utilizzare i metodi Ottenere valutazioni delle app e Ottenere recensioni delle app nell'API di analisi dello Store per recuperare automaticamente le valutazioni e le recensioni dei clienti in formato JSON.