Conseguir Reviews de tus apps en Windows Phone 8 y Windows 8.X

Hola a todos!

Hoy quiero tocar un tema diferente al lado técnico que siempre estudiamos en el blog: Mejorar el marketing de nuestra app. Una parte importante de la venta de nuestra aplicación es la de conseguir comentarios y puntuaciones. De esta forma indicamos a posibles nuevos usuarios la calidad de la misma, además de obtener un valioso feedback de nuestros usuarios actuales.

Por regla general, y esto creo que nos ocurre a todos, cuanto una app funciona mal y no cumple nuestras espectativas, nos lanzamos rápidamente a puntuarla con una estrella (porque no se puede puntuar con 0) y poner un comentario que indique lo disgustados que estamos. Pero… ¿Y si la aplicación es increíblemente buena, o al menos cubre nuestras necesidades? Pues lejos de puntuarla con 3, 4 o 5 estrellas, de poner un comentario constructivo agradeciendo al autor y aportando feedback, simplemente disfrutamos de la aplicación y obviamos la review.

Esto puede llevar a apps con muchos usuarios contentos y muy malas puntuaciones, pues solo la gente que ha tenido problemas a puntuado, o sin puntuaciones, lo que da a entender que nadie la usa.

Para corregir esto y conseguir que la gente puntúe y comente nuestra aplicación tenemos que seguir una máxima: poner la posibilidad de comentar y puntuar al alcance del usuario. Esto es, no obligarle a salir de nuestra aplicación. Facilitarle que con un solo click, mientras está disfrutando de la misma, pueda puntuarnos y comentar. Para ello, yo recomiendo dos acciones concretas:

  • En primer lugar, tener un botón en cada pantalla o una opción de menú que permita al usuario votar y comentar nuestra aplicación. Incluso si ya lo ha hecho.Quizás en un primer momento la ha valorado con 3 estrellas y pasado un tiempo, tras actualizaciones, quiere volver a valorarla con 5 estrellas. No le quites la posibilidad de hacerlo. Es conveniente que, al menos en el primer inicio de la aplicación, informemos al usuario de la existencia de este botón, para que lo tenga presente.
  • Cuanto todavía el usuario no ha valorado nuestra aplicación, podemos mostrar, cada cierto tiempo, un mensaje pidiéndole amablemente que lo haga. Recomendablemente al inicio de la aplicación. Una vez que haya valorado la aplicación, ya no sacaremos más este mensaje, pero le indicaremos que dispone de la primera opción si desea cambiarla.

Bien, todo esto es muy bonito, pero… ¿Como implementamos esto en nuestras aplicaciones Windows Phone 8 y Windows 8.X? Vamos a verlo en concreto para cada plataforma, empezando por Windows 8.X.

Por supuesto, huelga decirlo, todo esto lo haremos usando MVVM para ello… ¿Acaso existe otra forma?

Windows 8.X – Botón para valorar la aplicación

NOTA: En esta ocasión, nuestro ejemplo se realizará con Windows 8.1, pero el código debería ser igual para Windows 8.

En primer lugar vamos a examinar como podemos llevar al usuario a revisar nuestra aplicación en la store mediante código. En Windows Phone disponemos de un lanzador para realizar esta acción, pero no así en Windows 8.X. En nuestra aplicación Windows Store deberemos usar el método LaunchUriAsync del namespace Windows.System. La uri que usaremos es ms-windows-store, que nos permite interactuar con la tienda de aplicaciones. Le pasaremos en primer lugar el tipo de acción a realizar: review. A continuación debemos indicarle qué aplicación queremos que muestre (por supuesto, la nuestra). Para indicarle la aplicación usaremos el identificador Package Family Name, que podemos encontrar en el archivo package.appxmanifest, en la pestaña Packaging:

image

Con lo que nuestra URI quedaría compuesta de la siguiente forma:

image

Solo tenemos que llamar al método LaunchUriAsync de la clase Launcher cuando el usuario haga click en nuestro botón:

Lanzar valoración
private async Task RateAppExecute()
{
    string reviewUri = string.Format(«ms-windows-store:REVIEW?PFN={0}», «1a82fb61-1dc9-4a21-a0ab-8013cc36138a_hqywp6k2sx4r6»);
    await Launcher.LaunchUriAsync(new Uri(reviewUri));
}

Nos queda por definir solo una cosa: ¿Donde colocamos el botón para que el usuario pueda valorar la aplicación? Aunque aquí pueden existir muchas opiniones distintas, creo que lo más correcto es tener un enlace en la charm de settings de la aplicación. De esa forma, no tenemos que incluir este código en cada pantalla y podemos indicarle al usuario donde encontrará siempre esta acción.

Windows Phone 8 – Botón para valorar la aplicación

En Windows Phone 8 la mecánica es mucho más sencilla, dentro de la amplia gama de selectores (choosers) y lanzadores (launchers) que incorpora el sistema por defecto, podemos encontrar el  MarketplaceReviewTask. Este lanzador solo tiene un método importante: Show. Simplemente necesitamos crear una nueva instancia del lanzador y llamar a su método Show para que se muestre al usuario la página de valoración del marketplace:

Lanzar valoración
private async Task RateAppExecute()
{
    MarketplaceReviewTask task = new MarketplaceReviewTask();
    task.Show();
}

Como podemos ver, no tenemos que dedicar mucho trabajo a este código, realmente sencillo.

En el caso de Windows Phone, yo situaría el botón en la ApplicationBar de la página principal. Si tienes menos de 4 botones de iconos, lo pondría como un botón, si tienes 4 ya usados, lo añadiría como una opción de menú. Y muy importante: recuerda no quitar el botón cuando el usuario haya valorado la aplicación, pues puede querer cambiar su valoración más adelante.

Pedir al usuario que valore nuestra aplicación

En los dos puntos anteriores hemos visto como permitir al usuario valorar nuestra aplicación por iniciativa propia, esto es, buscando el botón para realizar esta acción y presionándolo. Pero en muchos casos, aunque el usuario quiera valorar nuestra aplicación, no va a hacerlo por iniciativa propia. Tendremos que ser nosotros los que se lo pongamos en bandeja, preguntándole si desea valorarla. Ante una respuesta positiva le llevaremos directamente a la valoración, a una respuesta negativa, lo dejaremos tranquilo… hasta dentro de un tiempo.

Para llevar a cabo esta tarea deberíamos seguir los siguientes pasos:

  • Comprobar si es la primera vez que se inicia la aplicación, si es así, guardar un setting local que lo indique.
  • Cada vez que se inicie la aplicación, incrementar el setting local guardado.
  • Cuando hayamos llegado al número deseado de ejecuciones, mostrar un diálogo al usuario preguntándole si desea valorar nuestra aplicación.
  • Si la respuesta es afirmativa, ejecutar el código que vimos anteriormente para la plataforma en cuestión.
  • Guardar una setting local que indique que el usuario ya ha valorado la aplicación, para no volver a preguntarle.
  • Si la respuesta es negativa, resetear el contador y pasado de nuevo el número de ejecuciones, volver a preguntar.

Adicionalmente, podríamos almacenar la versión de la aplicación junto con el número de ejecuciones, de forma que el contador se vuelva a poner en marcha cuando actualicemos a una nueva versión.

En principio, nos exige crear código y lógica para este proceso, que no es complicada, pero es un factor más del que preocuparnos en nuestra aplicación. Pero la comunidad viene en nuestra ayuda. Rajen Kishna ha creado un paquete de NuGet, compatible con Windows Phone 7/8 y Windows 8/8.1 muy sencillo de usar, llamado ReviewNotifier.

Lo primero que necesitaremos será instalar el paquete de NuGet en nuestro proyecto con el Package Manager:

Instalar ReviewNotifier
PM> Install-Package ReviewNotifier

O con el gestor de NuGet:

image

Tras esto, los pasos que debemos hacer son los mismos en ambos sistemas:

  • En el evento de lanzamiento de la aplicación (OnLaunched en Windows 8.X y Application_Launching en Windows Phone 8) tendremos que inicializar la clase ReviewNotification.
  • En la primera página de nuestra aplicación, o en su ViewModel preferiblemente, debemos indicar el mensaje a mostrar, el título y tras cuantos arranques deseamos que se muestre al usuario (por defecto este valor es de 5 inicios).

A continuación veremos los pasos en detalle para cada plataforma.

ReviewNotifier en Windows 8.X

Como comentamos anteriormente, lo primero que necesitamos es instalar el paquete de NuGet ReviewNotifier. A continuación, vamos a editar el archivo app.xaml.cs y a añadir el siguiente código en el método OnLaunched:

Inicializar ReviewNotifier
protected override async void OnLaunched(LaunchActivatedEventArgs e)
{
    await ReviewNotifier.Windows8.ReviewNotification.InitializeAsync();
    
    
}

A continuación, en la Viewmodel de nuestra página inicial, VMMainPage, vamos a añadir el siguiente código en el constructor:

Código lanzamiento
public VMMainPage()
{
    this.rateAppCommand = new DelegateCommand(this.RateAppExecute);

    ReviewNotifier.Windows8.ReviewNotification.TriggerAsync(«Please, rate this app.», «Rate my app», 5);
}

Y listo, tras ejecutar 5 veces nuestra aplicación, se mostrará el mensaje que hemos definido al usuario:

image

P.D.: Solo dos cosas: En una aplicación real, no pongáis el texto escrito sin más, usad un archivo de recursos y localizadlo en varios idiomas, si el usuario no os entiende, no os valorará. A sí, y sed algo más amables que en este ejemplo.

ReviewNotifier en Windows Phone 8

El proceso en Windows Phone 8 es exactamente el mismo. Tendremos que añadir la inicialización del objeto ReviewNotifier al método Application_Launching:

Inicializar ReviewNotifier
private async void Application_Launching(object sender, LaunchingEventArgs e)
{
    await ReviewNotifier.Apollo.ReviewNotification.InitializeAsync();
}

Y, al igual que en Windows 8.X, en nuestra Viewmodel VMMainPage incluiremos el código para lanzar el aviso:

Código de lanzamiento
public VMMainPage()
{
    this.rateAppCommand = new DelegateCommand(this.RateAppExecute);

    ReviewNotifier.Apollo.ReviewNotification.TriggerAsync(«Please, rate my app.», «Rate my app», 5);
}

Voliá! Tras ejecutar 5 veces nuestra aplicación Windows Phone, obtendremos el mensaje sugiriendo cortésmente al usuario que valore nuestra aplicación:

image

Conclusión

Con estas dos sencillas técnicas, le facilitamos al usuario realizar una tarea que no le es atractiva en principio, pues no es capaz de percibir ningún beneficio en ella. Si nuestros mensajes explican porqué le interesa valorar y dar su opinión, nuestra valoración mejorará, con lo que tendremos mucha más visibilidad en la store y mejoraremos las descargas e indirectamente nuestro beneficio.

A continuación os dejo el código fuente de una solución con los proyectos de Windows Phone 8 y Windows 8.1 que hemos usado en este artículo para que podáis usarlos como referencia.

Un saludo y Happy Coding!

3 comentarios sobre “Conseguir Reviews de tus apps en Windows Phone 8 y Windows 8.X”

  1. Qué buen artículo Yeray! Yo uso esta técnica y he conseguido un 180% más de opiniones, aunque no son todas positivas la media si lo es y vale la pena.

    Por cierto, en Windows 8 puedes obtener el familyname por código:

    var familyName = Windows.ApplicationModel.Package.Current.Id.FamilyName;

    Saludos!
    Juanma

Responder a jmservera Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *