Articles

Revisiones en la aplicación para tus aplicaciones de Android

Saamer Mansoor

Saamer

22 de octubre de 2020

Este es un blog invitado de Saamer Mansoor. Saamer es un juguetón y desarrollador de aplicaciones en TheFirstPrototype.com. Puedes encontrarlo en Twitter @saamerm, escribiendo en Medium, y contribuyendo al Open Source en GitHub.

Cuando se lanzó la versión Play Core v1.8 de Android en agosto de 2020, se añadió una nueva e impresionante característica para permitir a los usuarios proporcionar revisiones dentro de la aplicación. Patrick Getzmann ha estado trabajando en un binding para esta librería durante los últimos meses y recientemente lo ha actualizado para que sea compatible con la v1.8. Esto significa que con sólo unas pocas líneas de código puede traer esta característica y muchas otras a su aplicación.

Las revisiones dentro de la aplicación mejoran la experiencia del usuario, ya que a los usuarios no les gusta ser llevados fuera de su aplicación. Apple ha proporcionado esta característica desde iOS 10.3 lanzado en marzo de 2017, por lo que era muy esperada en Android. Veamos cómo podemos utilizar la nueva biblioteca Play Core para llevar esta característica a las aplicaciones de Android.

Screenshots showing In-App Reviews on a Xamarin Android app

Librería Play Core

Al principio de este viaje trabajé estrechamente con Patrick para actualizar el paquete NuGet de PlayCore que se puede añadir directamente a tu proyecto de Android. Dado que la API es el núcleo de Android hice este PR al proyecto de Patrick como un ejemplo de cómo usarlo. Muestra cómo crear un InAppReviewService.cs en su proyecto Android y utilizar la inyección de dependencia para llamarlo.

Sin embargo, de la nada James Montemagno llegó a mí para integrar esta funcionalidad en su ya popular Store Review Plugin. Nos asociamos con él para hacer la función más accesible a través de su biblioteca NuGet que ya tenía la función para iOS. Esto significa que la implementación de esto en su aplicación es ahora simple!

Paso 1 – Añadir el NuGet

El primer paso es añadir la recién actualizada v3 del Store Review Plugin NuGet a todos sus proyectos. Esto agregará automáticamente la biblioteca de enlaces de Play Core como una dependencia.

Paso 2 – Llamar RequestReview()

Luego, decida cómo quiere solicitar la revisión. Podrías desencadenarla cuando el usuario haga clic en un botón, o podrías desencadenarla manualmente después de que el usuario haya utilizado la aplicación durante un tiempo determinado. Cuando quieras solicitar una revisión simplemente llama a esta línea de código:

await CrossStoreReview.Current.RequestReview(false);

Esto activará el proceso de revisión y el sistema operativo decidirá si se presenta. El booleano que se pasa es para determinar si está en modo de prueba, lo cual es ideal para probar su aplicación antes de lanzarla.

Paso 3 – Configuración opcional de ProGuard

Si vas a lanzar tu aplicación con la opción Link All y tienes ProGuard/r8 activado, tienes que añadir lo siguiente en el archivo proguard de tu proyecto Android:

-keep class com.google.android.play.core.common.PlayCoreDialogWrapperActivity-keep class com.google.android.play.core.review.** { *; }-keep class com.google.android.play.core.tasks.** { *; }

Testing

Probar las revisiones in-app es complicado en Android, al igual que en iOS. Hay muchas limitaciones para poder probar tu app como puedes ver aquí. Independientemente de lo que intentes, no podrás ver la interfaz de usuario de las revisiones in-app cuando se construye y distribuye manualmente. Tienes que descargar la aplicación desde la Play Store para poder ver la interfaz de usuario. Por lo tanto, la forma más fácil de probar esto es utilizando el «Internal App Sharing» de Android.

Y ahí lo tienes, ahora tienes revisiones in-app multiplataforma para tus aplicaciones de Xamarin. Antes de terminar el post, quería dar a todos un poco de historia de fondo de cómo toda la biblioteca y la integración llegó a ser y espero que compartir mi historia le animará a contribuir a la comunidad Xamarin impresionante.

Historia de fondo

Todo comenzó con Reddit en realidad. Estoy suscrito al subreddit de Android a través del cual me entero de las últimas características. Cuando me enteré de las revisiones dentro de la aplicación en Android, sentí curiosidad por implementarlo también en mi aplicación, pero luego investigué y me enteré de que no había ningún plan para tener un enlace oficial para Play Core. Sin embargo, encontré el NuGet de Patrick Getzman que ya había hecho el trabajo pesado de crear un binding. En ese momento sólo estaba vinculado a Play Core v1.7.2. Como la v1.8 es necesaria para las revisiones in-app, así que simplemente creé un issue.

Un poco de tiempo después, tenía una fecha límite arrastrándose, así que decidí procrastinar y encontrar cualquier cosa que hacer en su lugar, y fue entonces cuando decidí actualizar esa librería de bindings a la v1.8. Con muchos desplazamientos del ratón y toques de teclas, seguí este vídeo de Jonathan Dick y conseguí que el archivo .AAR para la v1.8 de Android funcionara después de algunas pruebas y errores. Envié un PR y pude utilizar la documentación oficial de Android para actualizar el ejemplo en el repositorio de Pat. Fue una experiencia maravillosa y me alegro de haber sido capaz de ayudar a contribuir a esta excelente característica.

Espero que hayan encontrado esto útil, y si lo utilizan en sus aplicaciones, por favor, compartan capturas de pantalla conmigo, o simplemente pueden decir ¡Hola!

Saamer Mansoor
Saamer Mansoor

Sigue

.