> ## 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.

# Descripción general de mensajes dentro de la aplicación

> Comienza con los Mensajes Dentro de la Aplicación de OneSignal: cómo configurar, diseñar, disparar y probar campañas dentro de la aplicación para involucrar efectivamente a tus usuarios móviles.

<Frame caption="Ejemplos de mensajes dentro de la aplicación">
  <img src="https://mintcdn.com/onesignal/yt4lRKoquAlWvRvF/images/iam/iam_marketing.jpg?fit=max&auto=format&n=yt4lRKoquAlWvRvF&q=85&s=4e09e43dc57956f4c33ad761f403aea5" width="1280" height="720" data-path="images/iam/iam_marketing.jpg" />
</Frame>

Los mensajes dentro de la aplicación (IAM) son mensajes personalizables y dirigidos que se muestran dentro de tu aplicación móvil. Te permiten:

* Solicitar acción del usuario como suscribirse a notificaciones push o actualizar su ubicación.
* Promover funciones nuevas o subutilizadas a usuarios específicos.
* Mostrar anuncios y noticias en tiempo real sin lanzar una actualización de la aplicación.
* Crear encuestas y carruseles.
* Ayudar con la incorporación y contenido educativo.

***

## Configuración dentro de la aplicación

Debes tener el SDK de OneSignal instalado en tu aplicación para usar Mensajes Dentro de la Aplicación. Una vez completo, puedes crear y enviar mensajes dentro de la aplicación desde el panel de OneSignal sin escribir ningún código. Nuestro SDK también tiene métodos para casos de uso avanzados como:

* Disparar el mensaje en momentos específicos
* Manejo de clics y enlace profundo
* Pausar el mensaje
* Gestión del ciclo de vida y más!

<Columns cols={2}>
  <Card title="Configuración del SDK Móvil" href="./mobile-sdk-setup" arrow={true}>
    Agrega OneSignal al código base de tu aplicación móvil.
  </Card>

  <Card title="Métodos SDK de Mensajes dentro de la aplicación" href="./mobile-sdk-reference#in-app-messages" arrow={true}>
    Desarrolladores: Accede a las APIs de disparador, manejador de clics y ciclo de vida.
  </Card>

  <Card title="Disparadores dentro de la aplicación" href="./iam-triggers" arrow={true}>
    Controla cuándo aparecen los mensajes según el comportamiento del usuario o la actividad de la aplicación.
  </Card>

  <Card title="Acciones de clic dentro de la aplicación" href="./iam-click-actions" arrow={true}>
    Define qué sucede cuando los usuarios interactúan con tu mensaje.
  </Card>
</Columns>

***

## Enviar mensajes dentro de la aplicación

Puedes enviar mensajes dentro de la aplicación desde el panel de OneSignal y dentro de Journeys.

<Frame>
  <iframe width="560" height="315" src="https://www.youtube.com/embed/TSkqp4e-ya0?si=vbNStROmopkSWxWd" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen />
</Frame>

<Columns cols={2}>
  <Card title="Panel de control" icon="window-maximize" href="#send-from-the-dashboard">
    Crea y envía mensajes in-app desde el panel de control de OneSignal.
  </Card>

  <Card title="Journeys" icon="route" href="./journeys-overview">
    Crea flujos automatizados de varios pasos y multicanal.
  </Card>
</Columns>

### Enviar desde el panel de control

<Steps>
  <Step title="Selecciona el canal de mensajes" icon="window-maximize">
    Selecciona **Crear...** y elige tu canal de mensajes. También puedes ir a **Mensajes** o **Plantillas** para ver mensajes anteriores.

    <Frame caption="Crear un nuevo mensaje en el panel de control de OneSignal.">
      <img src="https://mintcdn.com/onesignal/UDk6E5NjA3sdGdRN/images/dashboard/create-message.png?fit=max&auto=format&n=UDk6E5NjA3sdGdRN&q=85&s=97504cf71555ac4aeb263a36ad2d28b3" alt="OneSignal dashboard showing create message options" width="2128" height="1374" data-path="images/dashboard/create-message.png" />
    </Frame>
  </Step>

  <Step title="Elige un método de composición" icon="pencil">
    * Comienza desde cero con el [Editor de bloques](./design-your-in-app-message) o el [Editor HTML](./design-your-in-app-message-with-html)
    * Usa una [plantilla](./templates) prediseñada
  </Step>

  <Step title="Establece un nombre y etiqueta" icon="tag">
    Agrega metadatos internos para seguimiento e informes. Equivalente en API: `name`
  </Step>

  <Step title="Selecciona tu audiencia" icon="users">
    Elige qué usuarios reciben el mensaje. Puedes incluir y excluir [segmentos](./segmentation) para dirigirte a grupos específicos. Por defecto, son todos los "Usuarios suscritos" si no se establece ningún segmento.

    <Frame caption="Nombre, etiqueta y selección de segmento de audiencia en el panel de control.">
      <img src="https://mintcdn.com/onesignal/ciRrThfP6xMpI7GY/images/dashboard/message-name-label-audience.png?fit=max&auto=format&n=ciRrThfP6xMpI7GY&q=85&s=1f41b0e42d31211b1c1badf87ba84056" alt="Dashboard fields for message name, label, and audience segment selection" width="1650" height="518" data-path="images/dashboard/message-name-label-audience.png" />
    </Frame>

    <Note>
      Los mensajes in-app se entregan a todas las [suscripciones móviles](./subscriptions) en el segmento, independientemente del estado de suscripción a push. Sin embargo, si tu mensaje contiene una acción de clic de solicitud de push [click action](#click-actions), no se mostrará a las suscripciones móviles suscritas (con opt-in).
    </Note>
  </Step>
</Steps>

### Diseño del mensaje

Usa nuestro editor visual de arrastrar y soltar o nuestro editor HTML para más control.

<Frame caption="Pantalla de edición">
  <img src="https://mintcdn.com/onesignal/56ctKxZSV4m5VEkn/images/docs/b7df349-Screenshot_2022-12-10_at_12.52.59_PM.png?fit=max&auto=format&n=56ctKxZSV4m5VEkn&q=85&s=4930228c3107db798dadc1bf69b4b0d6" width="2134" height="1736" data-path="images/docs/b7df349-Screenshot_2022-12-10_at_12.52.59_PM.png" />
</Frame>

<Columns cols={2}>
  <Card title="Diseñar con arrastrar y soltar" href="./design-your-in-app-message" arrow={true}>
    Usa nuestro editor visual para construir mensajes rápidamente.
  </Card>

  <Card title="Diseñar con HTML" href="./design-your-in-app-message-with-html" arrow={true}>
    Control total para que los desarrolladores personalicen mensajes.
  </Card>

  <Card title="Plantillas HTML preconstruidas" href="./in-app-html-templates" arrow={true}>
    Comienza desde diseños y campañas probados.
  </Card>

  <Card title="APIs JavaScript dentro de la aplicación para HTML" href="./in-app-message-api" arrow={true}>
    Agrega las acciones de clic de OneSignal a tus mensajes HTML.
  </Card>

  <Card title="Personalización de Mensajes" href="./message-personalization" arrow={true}>
    Agrega contenido dinámico para personalizar mensajes para cada usuario.
  </Card>

  <Card title="Mensajería Multiidioma" href="./multi-language-messaging" arrow={true}>
    Localiza tu contenido para audiencias globales.
  </Card>
</Columns>

### Acciones de clic

Personaliza qué sucede cuando los usuarios hacen clic en elementos de tu mensaje.

<Frame caption="Opciones de acción de clic">
  <img src="https://mintcdn.com/onesignal/yt4lRKoquAlWvRvF/images/iam/click_action_dropdown.png?fit=max&auto=format&n=yt4lRKoquAlWvRvF&q=85&s=4edea63fce3704ec2c343eacfc77f248" width="518" height="525" data-path="images/iam/click_action_dropdown.png" />
</Frame>

<Columns cols={2}>
  <Card title="Acciones de Clic" href="./iam-click-actions" arrow={true}>
    Personaliza qué sucede cuando los usuarios hacen clic en elementos de tu mensaje.
  </Card>

  <Card title="Flujos de Eventos" href="./event-streams" arrow={true}>
    Rastrea interacciones con el mensaje.
  </Card>

  <Card title="Manejador de Clics SDK" href="./mobile-sdk-reference#addclicklistener-in-app" arrow={true}>
    Reacciona a eventos de clic con nuestro SDK móvil.
  </Card>

  <Card title="Enlace Profundo" href="./deep-linking" arrow={true}>
    Navega a los usuarios al hacer clic.
  </Card>
</Columns>

### Disparadores

Define cuándo deben aparecer los mensajes durante las sesiones de la aplicación.

<Frame caption="Configuración de disparador">
  <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/5578ae6-image.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=d70aa26e6fa87244d4fa8f4527d9b449" width="1766" height="884" data-path="images/docs/5578ae6-image.png" />
</Frame>

Cuatro tipos de disparadores:

<Columns col={2}>
  <Card title="Al abrir la aplicación">
    Disparar cuando el usuario lanza la aplicación.
  </Card>

  <Card title="Duración de sesión">
    Retrasar X segundos después de abrir la aplicación.
  </Card>

  <Card title="Desde el último mensaje">
    Retrasar X tiempo después del último mensaje dentro de la aplicación.
  </Card>

  <Card title="Disparadores personalizados" href="./iam-triggers" arrow={true}>
    Controlado a través del SDK `addTrigger(s)`.
  </Card>
</Columns>

#### ¿Cuándo debe descartarse este mensaje?

Los mensajes pueden descartarse:

* Con interacción del usuario (clic, deslizar)
* Después de un tiempo establecido (auto-descartar)

<Frame caption="Auto-descartar después de 90 segundos">
  <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/8dcc001876557819348b804906ed63aee17d83bce300e63e91cc11c54eface2f-Screenshot_2025-04-08_at_2.00.07_PM.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=59d61042bc7d3e1855e4c90f9a83e562" width="1342" height="530" data-path="images/docs/8dcc001876557819348b804906ed63aee17d83bce300e63e91cc11c54eface2f-Screenshot_2025-04-08_at_2.00.07_PM.png" />
</Frame>

### Programación y frecuencia

* **Comenzar a Mostrar**: Cuando el mensaje se vuelve elegible
* **Dejar de Mostrar**: Establece fecha/hora de finalización o "Mostrar para siempre"

#### ¿Con qué frecuencia deseas mostrar este mensaje?

* **Solo una vez** (predeterminado)
* **Cada vez** que se cumplan los disparadores
* **Múltiples veces** con lógica de repetición personalizada:

Ejemplos:

* Mostrar **2 veces** con un intervalo de **1 hora**
* Mostrar **12 veces** con un intervalo de **30 días**

<Frame caption="El ejemplo mostrará el mensaje un total de 12 veces cada 30 días.">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e66d013-Screenshot_2022-12-10_at_1.27.10_PM.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=0cfe8f5e92ea5d02aa5ae3c659b5538c" width="2100" height="756" data-path="images/docs/e66d013-Screenshot_2022-12-10_at_1.27.10_PM.png" />
</Frame>

***

## Cómo se muestran los mensajes dentro de la aplicación

Los mensajes dentro de la aplicación no se envían activamente. En su lugar, se obtienen al iniciar la aplicación según la audiencia. Luego se muestran según la lógica de disparador.

<Frame caption="Flujo de lógica de visualización de mensajes dentro de la aplicación">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e1ce302cd1350e6c9e5616937a8068329fe61619884cd62889cd1772fd29999d-1c688b0-lifecycle-of-an-in-app.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=7a7552973b2746cd2ffa36137e743675" width="2036" height="815" data-path="images/docs/e1ce302cd1350e6c9e5616937a8068329fe61619884cd62889cd1772fd29999d-1c688b0-lifecycle-of-an-in-app.png" />
</Frame>

El mensaje se mostrará si:

1. El usuario cumple los criterios de audiencia *antes* de que comience una **nueva sesión**.

* Una **nueva sesión** comienza cuando el usuario abre tu aplicación después de que haya estado en segundo plano o cerrada durante al menos 30 segundos.
* Si los usuarios tienen la aplicación abierta cuando el mensaje se activa o entra en el(los) segmento(s) durante la misma sesión, necesitarán sacar la aplicación del foco (cerrar o poner en segundo plano) durante al menos 30 segundos para ser elegibles para ver el mensaje.

2. Se cumplen las condiciones del disparador.
3. El tiempo y frecuencia programados son válidos.

Si los criterios del segmento cambian a mitad de sesión, los usuarios deben volver a abrir la aplicación para ver el mensaje.

### Pruebas

Mientras pruebas, se recomienda hacer lo siguiente:

<Steps>
  <Step title="Agregar registro detallado a tu aplicación">
    Agrega nuestro [método `setLogLevel` a `Verbose`](./mobile-sdk-reference#setloglevel) en tu aplicación para obtener registros más detallados.
  </Step>

  <Step title="Asegurarte de que tu Suscripción esté en el segmento">
    Como se explicó arriba en [Cómo se muestran los mensajes dentro de la aplicación](#how-in-app-messages-are-shown), el usuario debe cumplir los criterios de audiencia **antes de que comience una nueva sesión**.

    * Ve [Encontrar Dispositivos y Configurar Usuarios de Prueba](./test-users) si no conoces el ID de Suscripción de tu dispositivo.
    * Asegúrate de que la Suscripción de tu dispositivo esté en el(los) segmento(s) incluido(s) y no en el(los) segmento(s) excluido(s) si se está usando.
    * **Consejo**: Puedes agregar tu dispositivo como una Suscripción de prueba y crear o actualizar el segmento para incluir el filtro **Usuarios de Prueba**.
  </Step>

  <Step title="Asegurarte de que la aplicación esté cerrada o fuera de foco durante al menos 30 segundos">
    Esto asegurará que estés abriendo la aplicación para crear una nueva sesión y ser elegible para el mensaje.
  </Step>

  <Step title="Verificar las condiciones del disparador">
    Asegúrate de satisfacer los [disparadores](#triggers) para que se muestre el mensaje.
  </Step>

  <Step title="Verificar la programación y frecuencia">
    * Asegúrate de que las fechas de "Comenzar a mostrar" y "Dejar de mostrar" estén configuradas correctamente.
    * Establece ["¿Con qué frecuencia deseas mostrar este mensaje?"](#schedule-%26-frequency) en "Cada vez que se satisfagan las condiciones del disparador" mientras pruebas.
  </Step>

  <Step title="Actualizar el mensaje y asegurarte de que esté activo">
    * Una vez que el mensaje esté activo, puedes abrir la aplicación en tu dispositivo.
    * Deberías ver el mensaje mostrarse según tus condiciones de disparador.
  </Step>
</Steps>

#### Botón Probar y Previsualizar

Usar el botón **Probar y Previsualizar** enviará una notificación push a tu dispositivo de prueba seleccionado. Cuando hagas clic en el push para abrir la aplicación, se mostrará el mensaje dentro de la aplicación. Para usar esta función, debes:

* Asegurarte de que tu dispositivo sea un [Usuario de Prueba](./test-users).
* Las notificaciones push se envían **solo con fines de prueba**. El push no se enviará cuando el mensaje esté activo.
* Puedes abrir la aplicación y enviar el "mensaje de prueba". Se mostrará el mensaje dentro de la aplicación.
* La Sustitución de Etiquetas no funciona para Mensajes Dentro de la Aplicación de prueba.
* Si no estás viendo el mensaje, asegúrate de haber seguido los [pasos de prueba](#testing).
* Para recibir un Mensaje Dentro de la Aplicación de prueba, tu dispositivo debe estar suscrito a push. Los IAMs de prueba se disparan mediante una notificación push, por lo que si tu suscripción tiene un token de APNs inválido o no estás suscrito a push, la prueba no funcionará.

<Info>
  Need help?

  Chat with our Support team or email `support@onesignal.com`

  Please include:

  * Details of the issue you're experiencing and steps to reproduce if available
  * Your OneSignal App ID
  * The External ID or Subscription ID if applicable
  * The URL to the message you tested in the OneSignal Dashboard if applicable
  * Any relevant [logs or error messages](/docs/en/capturing-a-debug-log)

  We're happy to help!
</Info>

***

## Tutoriales y casos de uso

<Columns cols={2}>
  <Card title="Personalizar mensaje dentro de la aplicación" href="./personalization-properties-and-tags" arrow={true}>
    Guía paso a paso para personalizar tu mensaje dentro de la aplicación con etiquetas.
  </Card>

  <Card title="Dirigirse a versiones desactualizadas de la aplicación" href="./app-version-update" arrow={true}>
    Solicita a los usuarios que actualicen su aplicación.
  </Card>

  <Card title="Solicitudes de reseña en la tienda de aplicaciones" href="./example-app-store-review" arrow={true}>
    Aumenta tus calificaciones con solicitudes de reseña oportunas.
  </Card>

  <Card title="Crear encuestas de usuario" href="./example-create-a-survey" arrow={true}>
    Recopila comentarios dentro de tu aplicación.
  </Card>

  <Card title="Solicitudes de permiso de push" href="./prompt-for-push-permissions" arrow={true}>
    Mejora las tasas de opt-in de push.
  </Card>

  <Card title="Solicitudes de permiso de ubicación" href="./location-opt-in-prompt" arrow={true}>
    Pide a los usuarios que habiliten el seguimiento de ubicación.
  </Card>

  <Card title="Crear un tutorial" href="./example-create-a-tutorial" arrow={true}>
    ¡Configura un tutorial para ayudar a los usuarios a entender las nuevas funciones de tu aplicación!
  </Card>
</Columns>

***

## Análisis

Realiza un seguimiento del rendimiento e interacción de los mensajes.

<Columns cols={2}>
  <Card title="Informes de mensajes in-app" icon="chart-line" href="./in-app-message-reports">
    Impresiones, clics, cierres y métricas de conversión para mensajes in-app.
  </Card>

  <Card title="Resumen de análisis" icon="chart-bar" href="./analytics-overview">
    Todas las opciones de análisis disponibles en OneSignal.
  </Card>

  <Card title="Event Streams" icon="signal-stream" href="./event-streams">
    Transmite eventos de push a tu almacén de datos o herramientas de BI en tiempo real.
  </Card>
</Columns>

***

## Preguntas frecuentes

### ¿Los mensajes dentro de la aplicación requieren permiso de notificaciones push?

No. Los mensajes dentro de la aplicación se entregan a todas las Suscripciones móviles en el Segmento de destino, independientemente del estado de aceptación de push. Se muestran dentro de la app durante una sesión activa.

### ¿Por qué no se muestra mi mensaje dentro de la aplicación?

La causa más común es que la sesión del usuario no se actualizó. El usuario debe cerrar o poner la app en segundo plano durante al menos 30 segundos y luego volver a abrirla para iniciar una nueva sesión. Verifica también que el usuario esté en el Segmento de destino y que se cumplan las condiciones de activación. Consulta [Pruebas](#testing) para obtener una lista de verificación completa.

### ¿Puedo enviar mensajes dentro de la aplicación a través de la API?

Debes crear los mensajes dentro de la aplicación en el panel de OneSignal.

Puedes incluir el mensaje dentro de la aplicación en [Journeys](./journeys-overview) e ingresar al usuario en el Journey mediante [Eventos personalizados](./custom-events) activados desde la API.

### ¿En qué se diferencian los mensajes dentro de la aplicación de las notificaciones push?

Los mensajes dentro de la aplicación se muestran dentro de tu app mientras el usuario la está usando activamente. Las notificaciones push aparecen en la bandeja de notificaciones del dispositivo y pueden llegar a los usuarios incluso cuando la app está cerrada. Los mensajes dentro de la aplicación no requieren permiso de push y se obtienen al inicio de la sesión en lugar de ser enviados desde el servidor.

### ¿Puedo usar mensajes dentro de la aplicación en la web?

No. Los mensajes dentro de la aplicación solo están disponibles para aplicaciones móviles con el SDK móvil de OneSignal instalado. Para la web, considera usar [notificaciones push web](./web-push-setup) en su lugar.
