Acciones

El panel Interactions te permite definir cómo responden los elementos del flow ante eventos — como toques, apariciones de elementos y envíos de formularios. Para cada evento, asignas una o más acciones: navegar entre pantallas, mostrar u ocultar elementos, abrir URLs, establecer variables y más. Usa condiciones para personalizar el flow según los datos del usuario.

Cada interacción sigue una cadena de tres partes:

  1. Elemento: El componente de pantalla que inicia la interacción: un botón, una respuesta de quiz, un campo de entrada o cualquier otra cosa.
  2. Disparador: El evento que activa la lógica, como un toque, la aparición de un elemento o el envío de un formulario.
  3. Acción: La tarea que ejecuta el flow en respuesta. Un único disparador puede ejecutar varias acciones en secuencia.

Configurar interacciones

Para configurar una interacción:

  1. Selecciona un elemento en la pantalla o en el panel Layers.
  2. A la derecha, cambia al panel Interactions y haz clic en Add trigger.
Botón Add trigger
  1. En la sección Button triggers, selecciona el tipo de disparador.
Selección de tipo de disparador
  1. Haz clic en Add action, haz clic en el nombre de la acción y selecciona un tipo de acción en el menú desplegable de la ventana Edit action.
Add action button
  1. Configura las propiedades de la acción según el tipo de acción que hayas seleccionado.
  2. Si es necesario, haz clic en Add action para añadir más acciones al mismo desencadenador.

Tipos de disparadores

Los disparadores se activan en respuesta al comportamiento del usuario, cambios de estado de los elementos o la carga de la pantalla. On screen appear es universal; los demás son específicos de cada elemento.

DisparadorSe activa cuando…Compatible con
On screen appearLa pantalla se cargaTodos los elementos
On tapEl usuario toca el elementoBotones, opciones de quiz, toggles, cuentas atrás, vídeos
On changedEl usuario cambia el valor del campo (escribiendo, seleccionando una fecha u hora)Todos los elementos de entrada
On submitEl usuario envía un campo de texto pulsando Enter o Hecho en el tecladoEntradas de texto
On timer endUn elemento Countdown llega a ceroCountdown
On playback finishedUn vídeo llega al finalVídeo
Para elementos sin interacciones integradas (como Loader), On screen appear es el único disparador disponible.

Tipos de acción

Cualquier acción de navegación que lleve al usuario a otra pantalla debe ser siempre la última de la lista. Las acciones que se coloquen después (como “Set Variable”) pueden no ejecutarse porque la app ya habrá cambiado de pantalla.

Esta es la acción principal para mover a los usuarios entre pantallas. Lleva al usuario a una pantalla de destino específica.

Para esta acción, solo necesitas configurar la pantalla de destino. Si quieres habilitar la navegación dinámica, consulta Navegación y ramificación o la sección Acciones condicionales.

Navegar a una pantalla

Avanza al usuario a la siguiente pantalla en el orden del flow. Úsalo para flows lineales, donde el orden de las pantallas en el editor coincide con el orden en que quieres que los usuarios las vean.

Lleva al usuario a la pantalla anterior en su historial de navegación, en lugar de la pantalla anterior en la secuencia.

Abrir URL

Usa enlaces en línea para insertar enlaces en texto fluido.

Abre una dirección web específica. Úsalo para enviar a los usuarios a páginas web, artículos o perfiles de redes sociales fuera de las pantallas nativas de tu app. Para esta acción, puedes configurar dos ajustes:

  • URL address: Define una dirección URL. Además, puedes hacerla dinámica; por ejemplo, para llevar a los usuarios a páginas distintas según su respuesta en el quiz o usando los datos que han enviado. Para ello, haz clic en Variable icon y selecciona la variable que quieras usar.
  • Open in external browser: Define dónde quieres abrir los enlaces externos. Por defecto, se abren en un navegador in-app para que los usuarios no salgan de la aplicación. Marca la casilla Open in external browser si prefieres abrirlos en un navegador externo.
Open URL

Cerrar flow

Cierra el flow actual.

Mostrar/ocultar elementos

Muestra u oculta un elemento concreto de la pantalla.

Esta acción anula el estado inicial definido en Visibility en el panel Design. Si Visibility está configurado en Hide, la acción Show hará que el elemento aparezca.

Una acción Show o Hide sin elemento de destino bloquea la previsualización y la publicación. Selecciona un destino o elimina la acción.

Mostrar alerta

Muestra una ventana emergente nativa del sistema. El usuario debe pulsar Ok para continuar.

Para las alertas, debes configurar su Title y Message. En ambos campos puedes usar variables para que el contenido sea dinámico. Para ello, haz clic en Variable icon y selecciona la variable que quieras usar.

Una acción Show alert con una configuración vacía o incompleta bloquea la previsualización y la publicación. Rellena ambos campos o elimina la acción.

Show alert

Establecer variable

Actualiza el valor de una variable en el flow. Antes de añadir esta acción, crea las variables en el panel Variables de la izquierda (consulta Variables).

Haz clic en Add variable y define tantas variables y valores como necesites.

Una acción Set variable sin ninguna asignación bloquea la previsualización y la publicación. Configura al menos una asignación o elimina la acción.

Set variable

Compra

Activa un flujo de compra directamente desde un botón o interacción en tu onboarding. Úsalo para que los usuarios se suscriban o compren un producto sin salir del flow. Puedes configurar dos comportamientos para esta acción:

  • In-app store: Inicia una compra nativa. Establece Product en un producto específico, o en products.selectedProduct para la selección actual del usuario en la pantalla.
  • Web payment: Envía al usuario a un paywall web en lugar de activar una compra nativa. Úsalo cuando quieras gestionar la transacción fuera de la app, por ejemplo para ofertas de suscripción basadas en web.

Una acción de Purchase sin un Product ni una Web Paywall URL de destino bloquea la previsualización y publicación. Asigna un destino o elimina la acción.

Configuración de la acción Purchase en la ventana Editar acción

Restaurar compras

Activa el flow de restauración de compras en el dispositivo. Los usuarios lo utilizan cuando han comprado una suscripción en otro dispositivo o tras reinstalar la app, y necesitan recuperar el acceso a sus niveles de acceso.

No hay nada que configurar para esta acción: Adapty gestiona la restauración a través del flow nativo del store.

La acción Restore purchases también está preconfigurada en el enlace Restore del preset de botón Links (consulta Set up purchases).

Acciones personalizadas

Una acción personalizada lanza un Action ID con nombre que tu propio código de la app gestiona. Úsala cuando los tipos de acción predefinidos no cubran lo que necesitas.

Adapty proporciona el disparador; tu app implementa el comportamiento:

  1. En el builder, asignas un Action ID a la interacción de un elemento.
  2. Cuando el usuario activa la interacción, el flow pasa el ID a tu app.
  3. Tu app reconoce el ID y ejecuta tu código.

Configura una acción personalizada

  1. En la ventana Edit action, asigna un Action ID — una cadena que tu app reconocerá (por ejemplo, show_discount).
  2. En el código de tu app, implementa un manejador para este Action ID. Consulta Gestionar acciones de paywall para ver detalles de implementación y ejemplos de código.

Una acción Custom sin Action ID bloquea la previsualización y publicación. Asigna un Action ID o elimina la acción.

Configuración de acción personalizada con el campo Action ID en la ventana Editar acción

Qué puedes hacer con acciones personalizadas

Una acción personalizada no hace nada por sí sola. Tú defines un Action ID estático en el builder, y el código de tu app gestiona lo que ocurre cuando lo recibe. Todos los casos de uso que se describen a continuación siguen el mismo patrón: asigna un ID en el flow y luego gestiónalo en tu código.

  • Activar un evento in-app: Lanza un ID como viewed_special_offer y luego registra el evento en tu sistema de análisis cuando tu app lo reciba.
  • Solicitar un permiso del sistema: Lanza un ID como request_location y luego llama al prompt de permisos del SO desde tu app. Adapty no muestra el prompt — lo hace tu app.
  • Iniciar autenticación nativa: Lanza un ID como login_google y luego presenta tu propia pantalla de inicio de sesión. El flow no puede autenticar al usuario.
  • Aplicar lógica de negocio: Lanza un ID como apply_discount y luego desbloquea contenido o cambia el estado de la app en tu lado.
  • Pasar una respuesta de un cuestionario a tu app: Asigna un Action ID diferente a cada opción (por ejemplo, goal_weight_loss y goal_muscle) y luego lee el ID en tu código. Usa el ID para establecer un atributo de usuario personalizado por el que puedas segmentar más adelante. Como la acción solo lleva un ID fijo, esta es la única forma de registrar la elección — el flow no puede enviar el valor seleccionado.

Una acción personalizada se dispara en el momento en que el usuario selecciona una opción. Si el usuario cambia su respuesta, el flow también dispara el nuevo Action ID. Tu app recibirá ambos en orden — por ejemplo, goal_weight_loss y después goal_muscle. Haz que tu manejador sea idempotente para que siempre gane la última señal.

Lo que las acciones personalizadas no pueden hacer

Las acciones personalizadas son estáticas. El Action ID se fija cuando construyes el flow — no puede leer variables ni entradas del usuario. Cuando se dispara la acción, tu app solo recibe ese ID, nunca el correo electrónico, número de teléfono u otra información introducida por el usuario. Los campos de entrada permanecen dentro del flow como variables para ramificación y personalización. Para usar esos valores en tu app, recógelos a través de tu propia interfaz o API.

Acciones condicionales

Usa las acciones condicionales para dividir el flow en diferentes rutas según los datos del usuario.

Algunos casos de uso habituales:

  • Tienes un cuestionario en la pantalla y quieres llevar a los usuarios a distintas pantallas según sus respuestas. En este caso, añade una acción condicional a un botón.
  • Quieres ofrecer diferentes productos y ofertas a distintos grupos de usuarios. Colócalos en pantallas separadas y configura condiciones en un botón de navegación.
  • Quieres saltarte ciertos pasos para usuarios que ya completaron un tutorial en una sesión anterior de la app. Las acciones condicionales funcionan como una cadena if / else-if / else. La app lee las reglas de arriba a abajo y se detiene en la primera coincidencia:
  1. IF: El flow comprueba la condición principal.
    • ¿Es verdadera? El flow ejecuta las acciones THEN de inmediato y se detiene.
    • ¿Es falsa? El flow pasa a la siguiente sección.
  2. ELSE IF: Aquí puedes añadir comprobaciones adicionales (p. ej., “Si no es Premium, ¿el usuario está en un Trial?”).
  3. ELSE (Fallback): Si ninguna de las reglas anteriores coincidió, el flow ejecuta las acciones de esta sección final.

Para cada regla, selecciona una variable a evaluar y una acción a ejecutar. Puedes añadir más de una acción por regla.

El flow ejecuta solo una regla: la primera que coincida. Si necesitas ejecutar tanto IF como ELSE IF al mismo tiempo, añade ambas acciones al IF.

Para aprender a hacer elementos seleccionables y organizarlos en grupos para usarlos en condiciones, consulta Elementos seleccionables y grupos.

Acciones condicionales

Solución de problemas

Cualquier acción con campos obligatorios sin completar bloquea la previsualización y la publicación. Consulta Guardar y publicar flows para ver la lista completa.