8 min de lectura

In app review en Android e iOS: cómo pedir reseñas dentro de tu app

¿Quieres más reseñas sin mandar a tus usuarios a la tienda? La in app review muestra el diálogo nativo de Google Play o del App Store dentro de tu app. Te explicamos cómo integrarla en Android, iOS y Flutter, cuándo lanzarla, cómo probarla y qué hacer si no aparece.

Portada: Pide reseñas en tu app, in app review en Android e iOS, con la tarjeta Valorar app, calificación 5 estrellas y las filas Diálogo nativo, Cuota respetada y Prueba en canal interno

Las reseñas pesan en la conversión de tu ficha, pero pocas personas salen de una app para ir a la tienda a escribir una. La in app review en Android e iOS resuelve eso: muestra el diálogo nativo de Google Play o del App Store dentro de tu app, para que el usuario califique con estrellas sin salir. En esta guía verás cómo funciona la API en cada plataforma, cuándo lanzarla, cómo probarla y por qué a veces no aparece.

Qué es la in app review y por qué importa

La in app review es una API oficial de cada tienda que abre una pequeña tarjeta de calificación encima de tu app. El usuario elige de 1 a 5 estrellas y, si quiere, escribe un comentario. La reseña se publica en la tienda como cualquier otra.

  • Android: se llama Google Play In-App Review API y forma parte de las bibliotecas Play Core.
  • iOS: es SKStoreReviewController en UIKit o la acción RequestReviewAction (requestReview) en SwiftUI, dentro de StoreKit.

Tiene una ventaja clara frente a enviar al usuario a la tienda: menos fricción. Y en iOS es prácticamente obligatoria, porque la guía 5.6.1 de App Review pide usar la API proporcionada y no permite avisos de reseña personalizados. Si quieres el contexto completo de por qué las estrellas son parte del ASO, revisa nuestra guía de reviews y ratings en ASO.

Reglas comunes antes de escribir código

Las dos tiendas comparten la misma filosofía:

  1. La tienda decide si muestra el diálogo. Tu código solo lo solicita; puede no aparecer por cuotas.
  2. No sabrás qué hizo el usuario. Ninguna API te dice si calificó, cuántas estrellas puso o si el diálogo se mostró.
  3. No lo pongas detrás de un botón. Si el usuario toca «Calificar» y no pasa nada por la cuota, la experiencia se rompe. Para un botón permanente, abre la ficha de la tienda.
  4. No preguntes antes. Google prohíbe preguntas como «¿Te gusta la app?» o «¿Nos darías 5 estrellas?» antes de la tarjeta o junto a ella. Filtrar a los usuarios contentos para enviarlos a la tienda es una práctica de riesgo.
  5. Elige un momento de valor: después de terminar un nivel, exportar un documento o completar una tarea clave; nunca en el primer arranque ni a mitad de un proceso.

In app review en Android paso a paso

Requisitos

  • Dispositivos con Android 5.0 (API 21) o superior y Play Store instalada (también ChromeOS con Play Store).
  • La app debe estar en Google Play, al menos en el canal de prueba interna.

1. Añade la dependencia

En el build.gradle de tu módulo:

implementation("com.google.android.play:review:2.0.2")
implementation("com.google.android.play:review-ktx:2.0.2") // si usas Kotlin

2. Crea el ReviewManager y pide el ReviewInfo

val manager = ReviewManagerFactory.create(context)
val request = manager.requestReviewFlow()
request.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        val reviewInfo = task.result
        // guárdalo para lanzarlo en el momento adecuado
    }
}

El objeto ReviewInfo caduca pronto, así que pídelo poco antes de usarlo y solo cuando estés seguro de que vas a lanzar el flujo.

3. Lanza el flujo

manager.launchReviewFlow(activity, reviewInfo)
    .addOnCompleteListener { /* continúa el flujo normal de tu app */ }

Cuando termine, sigue con la experiencia normal. Si hay un error, no se lo muestres al usuario.

Diseño de la tarjeta

Muestra la tarjeta tal cual: no cambies tamaño ni opacidad, no pongas capas encima y no la cierres por código. Se cierra sola cuando el usuario actúa.

La cuota de Google Play

Google aplica una cuota de tiempo que no publica. Según su documentación, llamar a launchReviewFlow más de una vez en un periodo corto (por ejemplo, menos de un mes) puede no mostrar nada. Por eso conviene guardar en tu app cuándo fue la última solicitud y espaciar las siguientes.

In app review en iOS paso a paso

En SwiftUI, lee la acción del entorno y llámala en el momento adecuado:

@Environment(\.requestReview) private var requestReview

func tareaCompletada() {
    requestReview()
}

En UIKit usa SKStoreReviewController.requestReview(in: windowScene).

Reglas de Apple según la documentación de StoreKit:

  • Si la persona no ha calificado la app en ese dispositivo, el aviso se muestra como máximo tres veces en 365 días.
  • Si ya calificó, solo vuelve a aparecer con una versión nueva y si pasaron más de 365 días desde su reseña anterior.
  • Los usuarios pueden desactivar estas solicitudes en los ajustes del App Store.
  • Para un enlace permanente, por ejemplo en Ajustes, usa la URL de tu ficha con el parámetro action=write-review.

Flutter y otros frameworks

En Flutter el paquete más usado es in_app_review, que llama a la API de Play en Android y a requestReview en iOS y macOS:

final inAppReview = InAppReview.instance;
if (await inAppReview.isAvailable()) {
  inAppReview.requestReview();
}

Para el botón permanente de «Calificar» usa openStoreListing(appStoreId: '...'). El appStoreId es el Apple ID numérico que ves en App Store Connect, en Información general de la app. Unity, Unreal y código nativo (C++) tienen guías oficiales de Google; React Native y Expo usan módulos equivalentes (por ejemplo, StoreReview.requestReview() en Expo).

Cómo probar la in app review

En Android

  • Prueba interna: sube el AAB al canal de prueba interna de Google Play e instala la app desde Play Store con una cuenta de tester. En este canal no se aplica la cuota, así que puedes repetir la prueba. Después de esa primera descarga puedes instalar builds locales desde Android Studio en el mismo dispositivo.
  • Compartir internamente (internal app sharing): útil para iterar rápido, pero el botón Enviar aparece desactivado; no se pueden publicar reseñas.
  • FakeReviewManager: sirve para pruebas unitarias o de integración; simula el resultado de la API, pero no muestra interfaz.

En iOS

  • En modo desarrollo (ejecutando desde Xcode), el aviso siempre aparece, ideal para revisar la experiencia.
  • En TestFlight la llamada no tiene efecto. No es un fallo: es el comportamiento documentado. Si tu equipo prueba con TestFlight, avísales para que no reporten un bug.

Por qué la in app review no aparece

Si el diálogo no se muestra en Android, revisa esta lista (basada en la tabla de solución de problemas de Google):

CausaSolución
La app no está en ningún canal de PlaySúbela al menos a prueba interna
La cuenta no tiene la app en su bibliotecaDescárgala desde Play Store con esa cuenta
No está seleccionada la cuenta principalCambia a la cuenta principal en Play Store
Cuenta empresarial protegidaPrueba con una cuenta de Gmail
El usuario ya dejó una reseñaBórrala desde Play Store
Se alcanzó la cuotaUsa prueba interna o internal app sharing
Play Store instalada fuera de la tienda (sideload)Usa otro dispositivo con Play Store y Play Services válidos

En iOS, las causas típicas son: estás en TestFlight, el usuario ya vio el aviso tres veces en el año, ya calificó la versión actual o desactivó las solicitudes en ajustes.

Cómo medir si funciona

Las APIs no devuelven datos, así que mide en las consolas: volumen de reseñas por semana, calificación media por versión y conversión de la ficha antes y después de activar la solicitud. Nuestra guía de métricas ASO explica dónde ver cada dato en Play Console y App Store Connect.

Preguntas frecuentes

¿Puedo saber si el usuario dejó una reseña?

No. Ni Google ni Apple informan si se mostró el diálogo ni qué calificación se dio.

¿Cada cuánto puedo pedir una reseña?

En iOS, hasta tres veces en 365 días por usuario que no ha calificado. En Android la cuota no es pública; Google sugiere no repetir en periodos cortos, como menos de un mes.

¿Puedo poner un botón de «Calificar app»?

Sí, pero que abra la ficha de la tienda (en iOS con action=write-review), no la API de in app review.

¿Las reseñas de prueba se publican?

En Android, las reseñas de un canal de prueba cerrada se comparten en privado con el desarrollador, no en la ficha pública. Con internal app sharing ni siquiera se pueden enviar.

Mejora tu ficha con AppConsol

Más reseñas valen más si la ficha convierte. Con el generador de screenshots para Google Play y el generador de screenshots para iOS de AppConsol preparas capturas con textos de beneficio en minutos, y con el generador de política de privacidad cumples el requisito que piden ambas tiendas. Pruébalo gratis en AppConsol.

Sigue aprendiendo