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

# Acciones de clic en mensajes dentro de la aplicación

> Configura acciones de clic en elementos de mensajes dentro de la aplicación para abrir URLs, solicitar permisos de push o ubicación, rastrear outcomes, etiquetar usuarios o activar lógica personalizada.

Las acciones de clic son eventos interactivos que puedes adjuntar a elementos de un mensaje dentro de la aplicación — botones, imágenes o fondos. Agrégalos usando el editor de arrastrar y soltar o el editor HTML a través de la [API de JavaScript dentro de la aplicación](./in-app-message-api).

<Frame caption="Flujo de acción de clic que muestra las solicitudes de permisos de ubicación y push en iOS">
  <img src="https://mintcdn.com/onesignal/yt4lRKoquAlWvRvF/images/iam/a800e8b-Click_Action.png?fit=max&auto=format&n=yt4lRKoquAlWvRvF&q=85&s=3aa66c522aa9ed079e096e3386c2bff9" alt="Diagrama que muestra cómo las acciones de clic de mensajes dentro de la aplicación activan solicitudes de permisos de ubicación y push en iOS" width="2574" height="1244" data-path="images/iam/a800e8b-Click_Action.png" />
</Frame>

## Tipos de acciones de clic

### URL

Abre la URL especificada en el navegador predeterminado del dispositivo. Se mapea a `openUrl` en la [API JS dentro de la aplicación](./in-app-message-api). Para hacer enlaces profundos dentro de la app, usa un **Custom Action ID** en su lugar.

### Push permission prompt

Muestra la solicitud de permisos de push nativa de iOS o Android. Si el dispositivo ya está suscrito, el mensaje dentro de la aplicación no se muestra. Si el dispositivo fue solicitado previamente y rechazó, una alerta nativa le pide al usuario que habilite las notificaciones push en la configuración de la app. Se mapea a `triggerPushPrompt` en la [API JS dentro de la aplicación](./in-app-message-api).

### Location permission prompt

Muestra la solicitud nativa del sistema operativo para pedir permiso de seguimiento de ubicación. Tu app debe incluir [permisos de seguimiento de ubicación](./mobile-sdk-reference#location) — consulta [Location Opt-In Prompt](./location-opt-in-prompt) para la configuración. Se mapea a `triggerLocationPrompt` en la [API JS dentro de la aplicación](./in-app-message-api).

### Send outcome

Rastrea una interacción del usuario para análisis. Los outcomes enviados a través de mensajes dentro de la aplicación aparecen como "Unattributed" y establecen una [etiqueta](./add-user-data-tags) en el usuario con el formato `nombre_del_outcome : true`. Consulta [Custom Outcomes](./custom-outcomes) para más detalles. Se mapea a `sendOutcome` en la [API JS dentro de la aplicación](./in-app-message-api).

### Tag user

Agrega una [etiqueta](./add-user-data-tags) al usuario según su respuesta, la cual puedes usar para segmentarlo y enviarle mensajes más dirigidos. Se mapea a `tagUser` en la [API JS dentro de la aplicación](./in-app-message-api).

### Custom action ID

Pasa un valor personalizado que tu app lee a través del [SDK IAM Click Listener](./mobile-sdk-reference#addclicklistener-in-app) cuando se hace clic en el elemento. Úsalo para:

* Enviar datos de interacción a tu propio servidor o proveedor de análisis.
* [Hacer un enlace profundo dentro de la app](./deep-linking) para navegar a pantallas específicas.

Se mapea a `addClickName` en la [API JS dentro de la aplicación](./in-app-message-api).

#### Collecting custom click actions

Establece un **Custom Action ID** en cualquier bloque de imagen o botón para identificar qué elemento fue clickeado. Tu app detecta el clic a través del [SDK IAM Click Listener](./mobile-sdk-reference#addclicklistener-in-app) y puede enviar los datos a tu servidor, base de datos o proveedor de análisis.

<Accordion title="Example: create a poll" icon="square-poll-vertical">
  Establece un Action ID único en cada botón de un mensaje dentro de la aplicación de opción múltiple. Cuando un usuario hace clic en una opción, tu app lo detecta a través del [SDK IAM Click Listener](./mobile-sdk-reference#addclicklistener-in-app), envía la respuesta a tu servidor y puede mostrar los resultados agregados al usuario más adelante.

  En lugar de un Action ID, también puedes usar un **Tag** para identificar el elemento clickeado y segmentar a los usuarios según su respuesta.
</Accordion>

***

## Related guides

<Columns cols={2}>
  <Card title="Deep Linking" icon="link" href="./deep-linking">
    Configura esquemas de URL personalizados y enrutamiento específico de la app para mensajes push y dentro de la aplicación.
  </Card>

  <Card title="In-app JavaScript API" icon="code" href="./in-app-message-api">
    Referencia de métodos de acción de clic en el editor de mensajes dentro de la aplicación en HTML.
  </Card>

  <Card title="App Store rating example" icon="star" href="./example-app-store-review">
    Tutorial paso a paso para solicitar reseñas en la App Store desde mensajes dentro de la aplicación.
  </Card>

  <Card title="Target outdated app versions" icon="rotate" href="./app-version-update">
    Solicita a los usuarios que actualicen su app.
  </Card>

  <Card title="Onboard users with banner in-app messages" icon="hand-wave" href="./example-create-a-tutorial">
    Guía a los usuarios con mensajes dentro de la aplicación en forma de banner superior e inferior que no bloquean la interfaz de tu app.
  </Card>
</Columns>

***

## FAQ

### ¿Puedo agregar múltiples acciones de clic a un solo elemento?

No. Cada elemento (botón, imagen o fondo) admite una sola acción de clic. Para activar múltiples comportamientos, usa un **Custom Action ID** y maneja la lógica en tu app a través del [SDK IAM Click Listener](./mobile-sdk-reference#addclicklistener-in-app).

### ¿Cómo hago un enlace profundo a una pantalla de mi app?

Usa la acción de clic **Custom Action ID** y maneja el enrutamiento en tu app a través del [SDK IAM Click Listener](./mobile-sdk-reference#addclicklistener-in-app). La acción **URL** abre enlaces en el navegador, no dentro de la app. Consulta [Deep Linking](./deep-linking) para la configuración completa.

### ¿Por qué no aparece la solicitud de permiso de push?

Si el dispositivo ya está suscrito a las notificaciones push, el mensaje dentro de la aplicación con una acción de clic de solicitud de permiso de push no se muestra. Verifica el estado de suscripción push del usuario en el panel de OneSignal antes de realizar pruebas.
