> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Obtén más reseñas en la app store

> Solicita a los usuarios que reseñen tu aplicación usando mensajes in-app de OneSignal con las solicitudes de reseña nativas de iOS y Android, reduciendo la fricción y aumentando las calificaciones.

Usa los mensajes in-app de OneSignal para solicitar a los usuarios una reseña en App Store o Google Play sin salir de tu aplicación. Este tutorial cubre enfoques con y sin código.

<Frame caption="Ejemplo de mensaje in-app que solicita al usuario dejar una reseña en App Store">
  <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/8c81fd3f2381baae2ac9176c24fb1e5684df33e991e0726c64a459ed798c7148-Screenshot_2024-11-12_at_12.00.20_PM.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=df73e58df4a1b6610f1cfffd84bd25d4" alt="Mensaje in-app con un botón Review Now que solicita al usuario calificar la aplicación" width="1016" height="617" data-path="images/docs/8c81fd3f2381baae2ac9176c24fb1e5684df33e991e0726c64a459ed798c7148-Screenshot_2024-11-12_at_12.00.20_PM.png" />
</Frame>

## Configuración

### 1. Crear el mensaje

Navega a **Messages > In-App > New In-App** o abre la plantilla existente de App Store Rating.

Agrega un Action ID a tu botón de reseña:

<Frame caption="Configurar un Custom Action ID en el botón Review Now">
  <img src="https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/293839ca5534557c35929fdaa6eb5581c7218da770f2601bd3e7d819164430b8-Screenshot_2024-11-12_at_12.13.39_PM.png?fit=max&auto=format&n=3zq1PvSaqvUE2bIx&q=85&s=c88fe293c4f381dd0e44c686c54af348" alt="Editor de mensajes in-app de OneSignal mostrando el campo Custom Action ID configurado como review en un elemento de botón" width="1211" height="685" data-path="images/docs/293839ca5534557c35929fdaa6eb5581c7218da770f2601bd3e7d819164430b8-Screenshot_2024-11-12_at_12.13.39_PM.png" />
</Frame>

### 2. Agregar el activador

El activador controla cuándo se muestra el mensaje. Puedes usar un enfoque con o sin código.

**Sin código**: Configura la Audiencia para apuntar a los usuarios de los que deseas reseñas — por ejemplo, usuarios con muchas sesiones que han usado la aplicación durante mucho tiempo.

**Con código**: Usa el método `addTrigger` del SDK para mostrar el mensaje de manera programática según las acciones del usuario. Evita mostrar la solicitud cuando el usuario esté en medio de una tarea importante.

En este ejemplo, la clave de **In-App Trigger** es `ask_for_review` con un valor de `show`. La clave y el valor pueden ser cualquier cosa, pero deben coincidir con lo que pasas a `addTrigger`:

`OneSignal.InAppMessages.addTrigger("ask_for_review", "show");`

<Frame caption="Par clave-valor del activador in-app que coincide con la llamada al método addTrigger">
  <img src="https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/459e14e99af52793454464b3e52ddc518f7a8c73021c16aae24b3389532c012a-Screenshot_2024-11-12_at_12.24.08_PM.png?fit=max&auto=format&n=YOTSrtBSoqdrJ37A&q=85&s=0a50f0c58f47de1b1ad7d478fea5ea77" alt="Panel de OneSignal mostrando el activador del mensaje in-app configurado como ask_for_review igual a show" width="825" height="236" data-path="images/docs/459e14e99af52793454464b3e52ddc518f7a8c73021c16aae24b3389532c012a-Screenshot_2024-11-12_at_12.24.08_PM.png" />
</Frame>

### 3. Manejar la solicitud de calificación de la app store

Puedes dirigir a los usuarios a dejar una reseña con un enfoque con o sin código.

<Accordion title="Opción sin código">
  1. Actualiza el segmento para usar el filtro "Device Type is Android".
  2. Duplica el mensaje in-app y actualiza el segmento del duplicado para usar el filtro "Device Type is iOS". Deberías tener dos mensajes in-app con dos segmentos separados.
  3. Agrega una [Acción de clic de URL](./iam-click-actions) al botón "Review Now" que enlace al listado de tu aplicación en la tienda:
     * **Android**: `https://play.google.com/store/apps/details?id=YOUR_PACKAGE_NAME` — consulta [Enlazar a Google Play](https://developer.android.com/distribute/marketing-tools/linking-to-google-play.html)
     * **iOS**: `https://apps.apple.com/app/idYOUR_APP_STORE_ID?action=write-review` — consulta [Solicitar reseñas en App Store](https://developer.apple.com/documentation/storekit/requesting_app_store_reviews)
</Accordion>

<Accordion title="Opción con código">
  Usa el método `InAppMessages.addClickListener` del SDK para detectar cuándo se hace clic en el botón de reseña (verificando el Action ID) y luego llama a la API de reseñas nativa de iOS o Android para presentar el modal de calificación.

  ```dart theme={null}
  OneSignal.InAppMessages.addClickListener((event) async {
    if (event.result.actionId == 'review') {
      if (await inAppReview.isAvailable()) {
        inAppReview.requestReview();
      }
    }
  });
  ```

  Este ejemplo usa el paquete Flutter [in\_app\_review](https://pub.dev/packages/in_app_review). Adáptalo para tu plataforma — consulta [RequestReviewAction](https://developer.apple.com/documentation/storekit/requestreviewaction) para iOS o la [API de reseñas in-app de Google Play](https://developer.android.com/guide/playcore/in-app-review) para Android.
</Accordion>

### 4. Programar y habilitar

Apple muestra la solicitud de reseña nativa un máximo de tres veces dentro de un período de 365 días. Google Play aplica una cuota con límite de tiempo pero no publica el límite exacto — llamar a la API más de una vez en un período corto (menos de un mes) puede que no muestre un diálogo.

Para mantenerte dentro de estos límites, configura tu programación in-app para que se muestre una vez cada 17 semanas:

<Frame caption="Programación in-app configurada para mostrarse hasta 40 veces en total, con intervalos de 17 semanas">
  <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/5c63bb89120c9fcffa5c3836f3f13de2db38952bc61c56d2f8d18c0bf450986f-Screenshot_2024-11-19_at_11.49.26_AM.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=690b7ecb27ab452252390d5511f6f821" alt="Configuración de programación de mensajes in-app de OneSignal mostrando 40 visualizaciones totales con intervalos de 17 semanas" width="898" height="187" data-path="images/docs/5c63bb89120c9fcffa5c3836f3f13de2db38952bc61c56d2f8d18c0bf450986f-Screenshot_2024-11-19_at_11.49.26_AM.png" />
</Frame>

<Tip>
  Para aumentar las reseñas positivas, apunta a usuarios que hayan tenido una gran experiencia — por ejemplo, usuarios con muchas sesiones o aquellos que dejaron comentarios positivos a través de un mensaje in-app anterior. Establece [etiquetas](./add-user-data-tags) en estos usuarios y crea un segmento para usarlo como audiencia de tu solicitud de reseña.
</Tip>

***

## Preguntas frecuentes

### ¿Con qué frecuencia puede aparecer la solicitud de reseña nativa de Apple?

Apple muestra la solicitud `RequestReviewAction` un máximo de tres veces por período de 365 días por usuario. Esto es aplicado por el sistema — tu aplicación no necesita rastrear el conteo. Consulta [Solicitar reseñas en App Store](https://developer.apple.com/documentation/storekit/requesting_app_store_reviews).

### ¿Con qué frecuencia puede aparecer la solicitud de reseña nativa de Google?

Google Play aplica una cuota pero no publica el límite exacto. Llamar a `launchReviewFlow` más de una vez en un período corto (menos de un mes) puede que no muestre el diálogo. La cuota es un detalle de implementación que Google puede cambiar sin previo aviso. Consulta [Cuotas de reseñas in-app](https://developer.android.com/guide/playcore/in-app-review#quotas).

### ¿Puedo usar esto con aplicaciones no nativas (Flutter, React Native, Expo)?

Sí. Usa un plugin específico de plataforma para llamar a la API de reseñas nativa — por ejemplo, [in\_app\_review](https://pub.dev/packages/in_app_review) para Flutter o [StoreReview](https://docs.expo.dev/versions/latest/sdk/storereview/) para Expo. El mensaje in-app de OneSignal y el listener de clics funcionan de la misma manera independientemente del framework.

***

<Columns cols={2}>
  <Card title="Acciones de clic in-app" icon="hand-pointer" href="./iam-click-actions">
    Configura acciones de clic de URL, solicitud de permiso, etiqueta, resultado y personalizadas en los elementos del mensaje in-app.
  </Card>

  <Card title="Etiquetas" icon="tags" href="./add-user-data-tags">
    Etiqueta a los usuarios según su comportamiento para crear segmentos de mensajería segmentada.
  </Card>
</Columns>
