Compartir a través de


Solicitar clasificaciones y opiniones para la aplicación

Puedes agregar código a tu aplicación de Plataforma universal de Windows (UWP) para pedir mediante programación a los clientes que valorar o revisar la aplicación. Hay varias maneras de hacerlo:

  • Puedes mostrar un cuadro de diálogo de clasificación y revisión directamente en el contexto de la aplicación.
  • Puedes abrir mediante programación la página de clasificación y revisión de tu aplicación en Microsoft Store.

Cuando esté listo para analizar los datos de clasificaciones y opiniones, puede ver los datos en el Centro de partners o usar la API de análisis de Microsoft Store para recuperar estos datos mediante programación.

Importante

Al agregar una función de clasificación dentro de la aplicación, todas las opiniones deben enviar al usuario a los mecanismos de clasificación de la Tienda, independientemente de star clasificación elegida. Si recopilas comentarios o comentarios de los usuarios, debes estar claro que no está relacionado con la clasificación o las opiniones de la aplicación en la Tienda, pero se envía directamente al desarrollador de la aplicación. Consulte el Código de conducta para desarrolladores para obtener más información relacionada con actividades fraudulentas o deshonestas.

Mostrar un cuadro de diálogo de clasificación y revisión en la aplicación

Para mostrar mediante programación un cuadro de diálogo de la aplicación que pide al cliente que valore la aplicación y envíe una revisión, llame al método RequestRateAndReviewAppAsync en el espacio de nombres Windows.Services.Store .

Importante

Se debe llamar a la solicitud para mostrar la clasificación y el cuadro de diálogo de revisión en el subproceso de la interfaz de usuario de la aplicación.

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

El método RequestRateAndReviewAppAsync se introdujo en Windows 10, versión 1809, y solo se puede usar en proyectos que tienen como destino la actualización de octubre de 2018 de Windows 10 (10.0; Compilación 17763) o una versión posterior en Visual Studio.

Datos de respuesta para la solicitud de clasificación y revisión

Después de enviar la solicitud para mostrar el cuadro de diálogo de clasificación y revisión, la propiedad ExtendedJsonData de la clase StoreRateAndReviewResult contiene una cadena con formato JSON que indica si la solicitud se realizó correctamente.

En el ejemplo siguiente se muestra el valor devuelto de esta solicitud después de que el cliente envíe correctamente una clasificación o revisión.

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

En el ejemplo siguiente se muestra el valor devuelto de esta solicitud después de que el cliente decida no enviar una clasificación o revisión.

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

En la tabla siguiente se describen los campos de la cadena de datos con formato JSON.

Campo Descripción
status Cadena que indica si el cliente envió correctamente una clasificación o revisión. Los valores admitidos son correctos y anulados.
data Objeto que contiene un único valor booleano denominado updated. Este valor indica si el cliente actualizó una clasificación o revisión existente. El objeto de datos solo se incluye en respuestas correctas.
errorDetails Cadena que contiene los detalles del error de la solicitud.

Iniciar la página de clasificación y revisión de la aplicación en la Tienda

Si quieres abrir mediante programación la página de clasificación y revisión de la aplicación en la Tienda, puedes usar el método LaunchUriAsync con el ms-windows-store://review esquema URI, como se muestra en este ejemplo de código.

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

Para obtener más información, consulta Iniciar la aplicación de Microsoft Store.

Análisis de los datos de clasificaciones y opiniones

Para analizar los datos de clasificaciones y opiniones de los clientes, tiene varias opciones: