Problemas comunes
Este artículo recoge los problemas más frecuentes al crear un flow en el Flow & Paywall Builder, con su causa y su solución.
Un flow no se puede previsualizar ni publicar
Puede que encuentres los siguientes errores al intentar previsualizar o publicar el flow:
| Mensaje | Causa y solución |
|---|---|
| No product selected | Una tarjeta de producto no tiene ningún producto asignado. Selecciona uno o elimina la tarjeta. |
| This product no longer exists, This offer no longer exists | El producto u oferta fue eliminado del dashboard. Selecciona otro en los lugares donde se usa, o utiliza Replace in N places en la entrada Missing del panel Products para corregir todos los usos en la pantalla de una vez. |
| This product is off this screen, This offer is off this screen | Una variable de texto, condición o acción hace referencia a un producto que no está en la lista de la pantalla, por ejemplo, después de haberlo eliminado en el panel Products. Vuelve a añadir el producto en el panel o edita la referencia. |
| Offer required | Se usa offer_price, offer_billing_period u offer_full_duration con un producto que no tiene oferta. Selecciona una oferta para el producto o usa una variable prod_* en su lugar. |
| Product reference is invalid | La referencia al producto está mal formada. Vuelve a seleccionar el producto. |
| Purchase action has no product to buy | Una acción Purchase no tiene producto: está vacía o apunta a una tarjeta eliminada. En la pestaña Interactions del elemento, establece Product en un producto o en products.selectedProduct. |
| Select product action has no product to select | La tarjeta a la que apuntaba una acción Select product ya no existe: fue eliminada, movida fuera de su grupo de productos o está en otra pantalla. En la pestaña Interactions del elemento, apunta la acción a una tarjeta de esta pantalla. |
| Flow has no screens, Screen ”…” has no elements | Añade contenido a la pantalla vacía o elimínala. Un flow que solo contiene contenido de Remote Config está exento. |
| Invalid interaction action | Una acción está incompleta: Open URL sin URL, Navigate to screen sin destino, Set variable sin asignación, Custom sin ID de acción, Show alert sin título ni mensaje, Show o Hide sin elemento, o una Purchase de pago web sin URL de Web Paywall. Abre las interacciones del elemento y completa o elimina la acción. |
| Missing navigation target | Una acción Navigate to screen apunta a una pantalla que fue eliminada. Selecciona una pantalla existente o elimina la acción. |
| Missing product target, Invalid product target, Product target on another screen, Ambiguous product target, Select Product inside a component | Una acción Select product apunta a una tarjeta que fue eliminada, no está en un grupo de productos, está en otra pantalla, comparte su ID de elemento con otro elemento en otra pantalla, o está dentro de un encabezado o pie de página compartido entre pantallas. Apunta la acción a una tarjeta de un grupo de productos en la misma pantalla, con un ID único. |
| Missing selectable group | Un elemento apunta a un grupo seleccionable que ya no existe. Vuelve a conectarlo o recrea el grupo. |
| Invalid visibility condition | Una regla de visibilidad condicional está incompleta. Complétala en el generador de condiciones. |
| Missing Default Locale Content | Una acción Open URL tiene una URL en otro idioma pero no en el idioma predeterminado. Añade la URL predeterminada en el panel Localizations. |
| Missing product reference | Un flow antiguo usa un producto que no está registrado en la pantalla. Abre la pantalla y añade el producto en el panel Products. |
Previsualiza el flow en la app de Adapty con regularidad mientras construyes. Un flow que no se puede publicar tampoco se cargará allí, y el mensaje de error indica el problema.
Para saber si tu flow está listo para producción, ejecuta el skill flow-audit. Comprueba lo que los errores de publicación no detectan: botones sin función, cumplimiento con la store, textos incompletos y cobertura de traducciones. El informe identifica cada problema con el nombre del elemento y su pantalla.
La publicación falla con “Something went wrong” y sin detalles

La solicitud de publicación falló en el lado de Adapty, no por culpa de tu flow. Tu versión en producción no ha cambiado. Espera unos minutos y vuelve a publicar. Si vuelve a fallar, copia el Request ID de la notificación y envíalo a support@adapty.io para que el equipo pueda localizar la solicitud fallida.
Una oferta no se aplica en la compra
El builder solo comprueba que la oferta siga existiendo en Adapty. Si el descuento se aplica o no lo decide el store en el momento de la compra: las ofertas introductorias dependen de la elegibilidad del cliente, y las ofertas promocionales de App Store necesitan una In-App Purchase Key válida. Ambos casos se tratan en Discrepancias de productos y precios.
El precio de una oferta está vacío en la vista previa
La vista previa del builder no puede conectarse a los stores, por lo que offer_price, offer_billing_period y offer_full_duration muestran el nombre de la variable entre llaves en lugar del valor real. Se resolverán cuando el SDK renderice el flow en tu app. Para previsualizar las condiciones que dependen del tipo de oferta, consulta Previsualizar productos y ofertas.
La publicación falla al introducir un color hex abreviado
Introduce siempre los colores con exactamente seis dígitos hexadecimales, como #FFFFFF. El campo de color acepta valores más cortos pero nunca los expande, por lo que un valor abreviado como #FFF llega mal formado a la configuración del SDK y la publicación se rechaza. La opacidad no tiene relación: el mismo valor falla con opacidad al 100%. El caso más problemático es el de cuatro dígitos: se publica, pero muestra un color distinto al que seleccionaste.
Las ediciones de tipografía no llegan a un estado de elemento
Una vez que un estado, como Selected, tiene su propia configuración de tipografía, las ediciones en la tipografía del estado Default —incluida la aplicación de un estilo de texto diferente— no afectan a ese estado. Edita la tipografía del estado directamente.
Los elementos pierden su estilo al eliminar un estilo de texto
Eliminar un estilo de texto no copia su configuración en los elementos que lo usan: esos elementos vuelven a la tipografía predeterminada. Antes de eliminar un estilo, reasigna los elementos afectados a otro estilo o configura su tipografía manualmente.
Faltan los controles de posición, tamaño y espaciado para un elemento
El elemento y su contenedor usan la dirección Free. Eso deja solo una posición y un tamaño posibles: Absolute, con ancho y alto fijos. Adapty oculta los controles para todo lo demás: el selector Position, la sección Spacing, y las opciones Fill y Hug. Para recuperar los controles, cambia la Direction del elemento a Vertical u Horizontal.
Las condiciones y variables se rompen al cambiar un ID de elemento
Las condiciones y las variables de texto hacen referencia a los elementos por su Element ID, y cambiar el ID no actualiza las referencias — dejan de resolverse silenciosamente. Establece el Element ID antes de referenciarlo. Si tienes que cambiarlo, actualiza todas las referencias de condiciones y variables para que coincidan. La excepción son los segmentos de barra de progreso: renombrar un segmento actualiza sus referencias automáticamente.
Una condición o variable se resuelve como un valor vacío
El selector de variables muestra campos de todas las pantallas, por lo que una condición o variable de texto puede hacer referencia a un campo que el usuario aún no ha rellenado. En tiempo de ejecución, esa referencia se resuelve como un valor vacío. Referencia solo los campos recopilados en pantallas anteriores del flow.
Los usuarios ven el valor inicial de una etiqueta personalizada en lugar del valor de tu app
Los usuarios ven el valor inicial de una etiqueta personalizada en los siguientes casos:
- Tu app no pasa ningún valor: El código que abre el flow no pasa ningún valor para el tag, o el usuario no ha actualizado tu app a la versión que lo hace.
- El nombre no coincide: El nombre en el código de tu app es diferente al nombre del tag en el builder. Los nombres distinguen mayúsculas de minúsculas e incluyen el grupo. Por ejemplo, si el grupo
usercontiene un tagstreak, el nombre exacto del tag esuser.streak. - Otro tag en el mismo elemento de texto no tiene valor: Si un tag personalizado en un elemento de texto no tiene valor, todos los tags de ese elemento muestran su valor inicial. Pasa un valor para cada tag personalizado en el elemento de texto.
La app móvil de Adapty no pasa valores para las etiquetas personalizadas, por lo que la vista previa solo muestra los valores iniciales. Para ver los valores que pasa tu app, abre el flow en una build de tu app.
Los usuarios no ven nada en lugar de una etiqueta personalizada
Los usuarios no ven nada en lugar de una etiqueta personalizada en los siguientes casos:
- Tu app envía una cadena vacía: Adapty trata una cadena vacía como un valor, por lo que el valor inicial no aparece como alternativa. Para mostrar el valor inicial, no envíes ningún valor para la etiqueta.
- La etiqueta no tiene valor inicial: Para mostrar un valor alternativo cuando tu app no envía ningún valor, introduce un valor inicial para la etiqueta.
La acción Set variable no cambia el producto seleccionado
El producto seleccionado no es una variable que puedas asignar, por lo que Set variable no puede cambiar la selección. Usa la acción Select product en su lugar.
Una imagen o vídeo no se sube
Un archivo que supere los límites de medios del Flow & Paywall Builder no se subirá. Verifica el archivo según los requisitos de Imagen y Vídeo:
| Elemento | Formatos | Tamaño máximo del archivo | Otros límites |
|---|---|---|---|
| Imagen | .JPG, .PNG, .WEBP | 20 MB | — |
| Vídeo | .MP4, .WEBM | 50 MB | 30 segundos máximo; 640×640 píxeles mínimo |
Estos formatos no son compatibles:
- GIFs animados y WEBPs animados: Para añadir movimiento, usa un elemento de vídeo en su lugar.
- SVG: Exporta el archivo como PNG o WEBP. Para los iconos, no necesitas subir nada — el elemento de icono usa la biblioteca Tabler Icons incluida.
El pie de página no se renderiza
El pie de página solo se renderiza en una pantalla donde Vertical scroll está habilitado. Activa Vertical scroll en Screen settings > Scroll.