Preguntas frecuentes
Este artículo ofrece respuestas a algunas preguntas frecuentes sobre los mensajes dentro de la aplicación.
¿Qué es un mensaje en el explorador y en qué se diferencia de un mensaje dentro de la aplicación?
Los mensajes en el explorador son mensajes dentro de la aplicación que se envían a los navegadores web. Para crear un mensaje en el explorador, asegúrate de seleccionar Web Browser en el campo Send To al crear tu Campaign de mensajes dentro de la aplicación o Canvas.
¿Se muestra un mensaje dentro de la aplicación si el dispositivo no tiene conexión?
Depende. Dado que los mensajes dentro de la aplicación se entregan al inicio de la sesión, si el dispositivo logra descargar la carga útil antes de perder la conexión, el mensaje dentro de la aplicación aún puede mostrarse sin conexión. Si la carga útil no se descarga, el mensaje dentro de la aplicación no se muestra.
Si un usuario ya tiene una carga útil de mensaje dentro de la aplicación en su dispositivo y se cambia la expiración del mensaje, ¿se actualiza la expiración en su dispositivo?
Cuando un usuario inicia una sesión, Braze comprueba si se han realizado cambios en los mensajes dentro de la aplicación para los que es elegible y los actualiza en consecuencia. Así que, si la expiración ha cambiado y el usuario registra una sesión, el mensaje dentro de la aplicación se envía al dispositivo con la información actualizada.
¿Cómo configuro las horas tranquilas para una campaña de mensajes dentro de la aplicación?
La función de horas tranquilas no está disponible para su uso con campañas de mensajes dentro de la aplicación. Esta función se utiliza para evitar que se envíen mensajes a tus usuarios durante horas específicas. En las campañas de mensajes dentro de la aplicación, tus usuarios reciben mensajes dentro de la aplicación solo si están activos dentro de la aplicación.
Como solución alternativa para enviar mensajes dentro de la aplicación durante un horario específico, usa el siguiente código Liquid de ejemplo. Esto permite que el mensaje se cancele si el mensaje dentro de la aplicación se muestra después de las 7:59 p. m. o antes de las 8 a. m. en la zona horaria especificada.
{% assign time = 'now' | time_zone: ${time_zone} %}{% assign hour = time | date: '%H' | plus: 0 %}
{% if hour > 19 or hour < 8 %}
{% abort_message("Outside allowed time window") %}
{% endif %}
MESSAGE HERE
¿Pueden los usuarios recibir un mensaje dentro de la aplicación de nuevo después de descartarlo?
Campaigns
Para Campaigns de mensajes dentro de la aplicación, puedes permitir que los usuarios vuelvan a ser elegibles para recibir la Campaign activando la reelegibilidad en Controles de entrega (Permitir que los usuarios vuelvan a ser elegibles para recibir la Campaign). La rapidez con la que pueden recibirla de nuevo depende de la ventana de reelegibilidad que establezcas y de cómo Braze registró el envío anterior. Consulta Reelegibilidad para Campaigns y Canvas para conocer el comportamiento de las Campaigns, incluyendo cómo la reelegibilidad se relaciona con la recepción de mensajes.
Si la reelegibilidad está desactivada, los usuarios generalmente no recibirán esa misma Campaign de nuevo basándose únicamente en los criterios de cualificación después de haberla recibido.
Canvas
Para los mensajes dentro de la aplicación enviados desde un Canvas, que un usuario pueda ver el mensaje de nuevo depende de los controles de entrada de Canvas (como permitir que los usuarios vuelvan a entrar en el Canvas) y de la configuración de tu paso, no solo de los controles de entrega de la Campaign.
¿Cuándo se calcula la elegibilidad para un mensaje dentro de la aplicación?
La elegibilidad para un mensaje dentro de la aplicación se calcula en el momento de la entrega. Si un mensaje dentro de la aplicación está programado para enviarse a las 7 a. m., entonces la elegibilidad se comprueba para este mensaje dentro de la aplicación a las 7 a. m.
Cuando el mensaje dentro de la aplicación aparece, la elegibilidad depende de cuándo se descarga y se desencadena el mensaje dentro de la aplicación.
¿Por qué mi Campaign de mensajes dentro de la aplicación archivada sigue registrando impresiones de mensajes dentro de la aplicación?
Esto puede ocurrir con usuarios que cumplían los criterios del Segment cuando la Campaign de mensajes dentro de la aplicación estaba activa.
Para evitarlo, durante la configuración de tu Campaign, selecciona Reevaluar la elegibilidad de la Campaign antes de mostrar.
¿Por qué no veo aperturas en los mensajes dentro de la aplicación?
Los mensajes dentro de la aplicación no utilizan una métrica de Aperturas. Braze registra Impresiones cuando el mensaje se muestra en pantalla y Clics cuando los usuarios interactúan con el cuerpo del mensaje o los botones. Si una exportación o informe multicanal incluye filas de mensajes dentro de la aplicación, compara Impresiones y Clics en lugar de las aperturas de estilo correo electrónico. Para ver las definiciones, consulta Informes de mensajes dentro de la aplicación.
¿Pueden mostrarse varios mensajes dentro de la aplicación en la misma sesión?
Sí, pero solo puede mostrarse un mensaje dentro de la aplicación por cada aparición de un evento desencadenante. Si varias Campaigns de mensajes dentro de la aplicación comparten el mismo desencadenante (por ejemplo, inicio de sesión), solo se muestra el mensaje de mayor prioridad cada vez que se produce ese desencadenante. Para desencadenantes de inicio de sesión, esto significa que solo puede mostrarse un mensaje por sesión, y la siguiente oportunidad de mostrar otro mensaje elegible es en la siguiente sesión.
Cuando varios mensajes comparten el mismo nivel de prioridad, se muestra primero el mensaje creado más recientemente. Para desencadenantes de inicio de sesión, el siguiente mensaje más reciente se muestra en una sesión posterior; para otros tipos de desencadenantes, el siguiente mensaje más reciente se muestra la próxima vez que se produce ese evento desencadenante, lo cual puede ocurrir dentro de la misma sesión o en una sesión posterior.
Para controlar el orden de visualización dentro de un grupo de prioridad, ve a la configuración de entrega de cualquiera de las Campaigns y selecciona Set exact priority; luego arrastra y suelta las Campaigns en el orden deseado. Para más información, consulta Elegir una prioridad.
¿Cómo se registran las impresiones y los clics de los mensajes dentro de la aplicación?
Consulta Informes de mensajes dentro de la aplicación para saber cómo se registran las impresiones y los clics según la acción del usuario. Para ver ejemplos específicos de mensajes a pantalla completa creados con el editor tradicional, consulta Métricas de mensajes a pantalla completa por acción del usuario.
¿Cómo calcula Braze la caducidad de un mensaje dentro de la aplicación configurado como “después de 1 día(s)”?
Braze calcula un tiempo de caducidad de un día como 24 horas después de que los usuarios sean elegibles para recibir un mensaje.
¿Qué son los mensajes dentro de la aplicación con plantilla?
Los mensajes dentro de la aplicación se entregan como mensajes dentro de la aplicación con plantilla cuando se selecciona Reevaluar la elegibilidad de la campaña antes de mostrar o si alguna de las siguientes etiquetas de Liquid existe en el mensaje:
canvas_entry_propertiesconnected_content- Variables de SMS como
{sms.${*}} catalog_itemscatalog_selection_itemsevent_properties
Braze también utiliza la entrega con plantilla para Campaigns de mensajes dentro de la aplicación inactivas (Campaigns que siguen activas pero que ya no envían o que ya no son necesarias). Estas Campaigns continúan siguiendo las reglas de audiencia y desencadenamiento configuradas.
Braze también puede utilizar la entrega con plantilla para proteger el rendimiento de la aplicación. Si la preparación del contenido Liquid retrasa la respuesta de una sesión más de unos segundos, Braze aplaza el trabajo restante. Esos mensajes se renderizan cuando se desencadenan.
Esto significa que durante el inicio de la sesión, el dispositivo recibe el desencadenante de ese mensaje dentro de la aplicación en lugar del mensaje completo. Cuando el usuario desencadena el mensaje dentro de la aplicación, el dispositivo del usuario realiza una solicitud de red para obtener el mensaje real.

El mensaje no se entrega si el dispositivo no tiene acceso a Internet. Es posible que el mensaje no se entregue si la lógica de Liquid tarda demasiado en resolverse.
Para reducir la cantidad de Liquid que Braze procesa al inicio de la sesión, consulta Optimizar el rendimiento de los mensajes dentro de la aplicación.
¿Cómo funciona el comportamiento de cancelación en los mensajes dentro de la aplicación?
En Braze, una cancelación ocurre cuando un usuario realiza una acción que lo hace elegible para recibir un mensaje, pero no lo recibe porque la lógica Liquid lo marca como no elegible. Por ejemplo:
- Sam realiza una acción que debería desencadenar una Campaign de correo electrónico.
- El cuerpo del correo electrónico contiene lógica Liquid que indica que, si un atributo personalizado de puntuación es inferior a 50, no se envíe este correo electrónico.
- La puntuación del atributo personalizado de Sam es 20.
- Braze reconoce que Sam no debería recibir este correo electrónico y lo cancela.
- Se registra un evento de cancelación.
Sin embargo, como los mensajes dentro de la aplicación son un canal de tipo pull, las cancelaciones funcionan de manera un poco diferente para ellos.
Comportamiento de cancelación estándar de mensajes dentro de la aplicación
Los mensajes dentro de la aplicación son extraídos por el dispositivo al inicio de la sesión y se almacenan en caché en el dispositivo, de modo que, independientemente de la calidad de la conexión a Internet, el mensaje puede entregarse instantáneamente al usuario. Por ejemplo, si un usuario recibe cinco mensajes dentro de la aplicación durante su sesión, los cinco se reciben al inicio de la sesión. Los mensajes se almacenan en caché localmente y aparecen cuando ocurren sus eventos desencadenantes definidos (inicio de sesión, el usuario hace clic en un botón que registra un evento personalizado, u otros).
En otras palabras, la lógica que determina si un mensaje dentro de la aplicación debe cancelarse ocurre antes de que el evento desencadenante haya tenido lugar. Para ilustrarlo, supongamos que Sam, del ejemplo del correo electrónico, está suscrito a notificaciones push.
- Sam inicia una sesión abriendo una aplicación con tecnología Braze en su teléfono.
- Según los criterios de audiencia de las Campaigns activas en el espacio de trabajo, Sam podría ser elegible para cinco Campaigns diferentes. Las cinco se descargan a su teléfono y se almacenan en caché.
- Sam no ha realizado ninguna acción que desencadenaría estos mensajes, pero podría recibirlos en la sesión.
- La lógica Liquid en dos de los mensajes dentro de la aplicación tiene reglas que excluyen a Sam de recibir el mensaje (como que su atributo personalizado de puntuación no es lo suficientemente alto).
- Sam no recibe los dos mensajes dentro de la aplicación que lo excluyen, pero sí recibe los otros tres mensajes.
- No se registran eventos de cancelación.
Braze no registra ningún evento de cancelación en el caso de Sam porque esto no cumple con la definición de una cancelación; Sam no realizó ninguna acción que desencadenaría los mensajes. Para los mensajes dentro de la aplicación, los usuarios en realidad nunca realizan el evento desencadenante antes de que Braze determine que no deberían ver el mensaje.
Comportamiento de cancelación de mensajes dentro de la aplicación con plantilla
Los mensajes dentro de la aplicación con plantilla obligan al SDK a reevaluar si un mensaje debe mostrarse cuando ocurre el evento desencadenante. Esto tiene un comportamiento de cancelación diferente. Para ilustrarlo, considera este ejemplo:
- Sam inicia una sesión de Braze abriendo una aplicación con tecnología Braze en su teléfono.
- Los criterios de audiencia de las Campaigns activas indican que Sam podría ser elegible para un mensaje dentro de la aplicación con plantilla, por lo que la información del evento desencadenante se envía a su dispositivo sin la carga útil del mensaje.
- Sam selecciona un botón que registra un evento personalizado, desencadenando el mensaje dentro de la aplicación con plantilla.
- El dispositivo de Sam hace una solicitud de red para obtener el mensaje dentro de la aplicación.
- La lógica Liquid del mensaje lleva a una cancelación, por lo que Braze lo registra como una cancelación; Sam realizó la acción desencadenante antes de esta evaluación.
Comparación del comportamiento de cancelación de mensajes dentro de la aplicación
Esta tabla compara los flujos de mensajes dentro de la aplicación que experimentó Sam:
| Mensaje dentro de la aplicación | Comportamiento de cancelación |
|---|---|
| Estándar | No se registró un evento de cancelación porque Sam no realizó ninguna acción que desencadenaría un mensaje. Los mensajes dentro de la aplicación estándar no registran cancelaciones porque la definición de una cancelación es “no vio el mensaje a pesar de realizar la acción desencadenante”. Como los mensajes dentro de la aplicación se entregan al dispositivo antes de que ocurran las acciones desencadenantes, no tiene sentido considerar como cancelados los mensajes dentro de la aplicación omitidos por lógica Liquid. |
| Con plantilla | Se registró un evento de cancelación porque Sam realizó la acción desencadenante para activar el mensaje dentro de la aplicación con plantilla, pero recibió una cancelación en la evaluación de la plantilla Liquid. Los mensajes dentro de la aplicación con plantilla registran cancelaciones porque la evaluación Liquid ocurre después de que se ha realizado la acción desencadenante. |
¿Cuándo se ejecuta el contenido conectado para los mensajes dentro de la aplicación?
Para los mensajes dentro de la aplicación con plantilla, el contenido conectado y otras etiquetas Liquid se resuelven cuando ocurre el evento desencadenante y el dispositivo solicita la carga útil del mensaje, no cuando el usuario hace clic en un botón dentro del mensaje. Cada solicitud de plantilla puede incluir llamadas de contenido conectado para esa visualización.
Si tu HTML hace referencia a datos REST devueltos por el contenido conectado, esos datos estarán disponibles para la sesión en la que se creó la plantilla del mensaje. Múltiples botones pueden hacer referencia a la misma respuesta de contenido conectado sin desencadenar llamadas adicionales al hacer clic.
¿Cuál es el retraso máximo después de un desencadenante para Campaigns de mensajes dentro de la aplicación?
Las Campaigns de mensajes dentro de la aplicación pueden retrasar la entrega después del evento desencadenante hasta dos horas (7200 segundos). Las opciones de retraso son Inmediatamente y Después de un retraso. Para una espera más larga, añade un paso de Retraso antes de un paso de mensaje dentro de la aplicación en un Canvas. Para la configuración del retraso, consulta Entrega basada en acciones.
¿Por qué hay un retraso antes de que se muestre mi mensaje dentro de la aplicación?
Los mensajes dentro de la aplicación estándar se muestran tan pronto como la carga útil almacenada en caché está lista después del evento desencadenante. En Android e iOS, las imágenes grandes u otros activos alojados en CDN referenciados en el mensaje pueden añadir un breve retraso mientras esos recursos terminan de descargarse antes de que aparezca el mensaje dentro de la aplicación.
Los mensajes dentro de la aplicación con plantilla y las Campaigns con la opción Reevaluar la elegibilidad de la Campaign antes de mostrar seleccionada requieren una solicitud de red adicional después del desencadenante antes de que aparezca el mensaje. Esto puede añadir un breve retraso (generalmente inferior a 100 ms en una conexión estable). Para más información, consulta Elige los usuarios a los que dirigirte.
¿Por qué mi mensaje dentro de la aplicación se ve diferente a la vista previa del panel?
Los mensajes dentro de la aplicación entregados pueden diferir de la vista previa del panel cuando:
- Tu integración aplica estilos personalizados o sobreescribe la interfaz de usuario predeterminada de los mensajes dentro de la aplicación en ciertas plataformas
- La vista previa usa un perfil de usuario de prueba con atributos diferentes a los del destinatario
- El contenido con plantilla se resuelve de manera diferente en el momento del envío que en el modo de vista previa
Usa Enviar mensajes de prueba con un usuario de prueba cuyo perfil coincida con tu público objetivo al validar la apariencia.
¿Por qué un mensaje dentro de la aplicación multipágina usa el mismo fondo en todas las páginas?
Cuando la opción Imagen de fondo está habilitada en una página de un mensaje dentro de la aplicación multipágina, ese fondo se aplica a todas las páginas del mensaje. Para usar fondos diferentes por página, usa un bloque HTML personalizado con JavaScript para intercambiar las imágenes entre páginas.
¿Cómo pruebo los mensajes dentro de la aplicación en la Web?
Los envíos de prueba de mensajes dentro de la aplicación para la Web requieren que las notificaciones push estén habilitadas en el dispositivo de prueba, ya que el flujo de prueba entrega una notificación push que abre la aplicación o el sitio donde se muestra el mensaje dentro de la aplicación. La misma ruta de prueba basada en push se aplica en cualquier plataforma donde push no esté configurado con Braze, aunque la ausencia de push se encuentra con más frecuencia en la Web porque muchas integraciones móviles ya tienen push habilitado. En su lugar, usa una Campaign en vivo dirigida a un Segment de prueba interno. Para los pasos, consulta Enviar mensajes de prueba.
¿Los mensajes dentro de la aplicación requieren la integración de push?
Los mensajes dentro de la aplicación no requieren notificaciones push para funcionar en producción. Los mensajes dentro de la aplicación se entregan a través del SDK de Braze y aparecen durante una sesión activa de la aplicación sin necesidad de integración push.
Sin embargo, los envíos de prueba de mensajes dentro de la aplicación sí requieren que push esté habilitado en tus dispositivos de prueba. Esto se debe a que los mensajes dentro de la aplicación de prueba se entregan a través de una notificación push que desencadena la visualización del mensaje dentro de la aplicación. El usuario de prueba debe tener push habilitado y debe tocar la notificación push de prueba para ver el mensaje dentro de la aplicación.
Para Campaigns en producción, los usuarios ven los mensajes dentro de la aplicación según los desencadenantes de tu Campaign (como inicio de sesión o eventos personalizados) sin que push esté involucrado.
¿Por qué aparecen caracteres adicionales o no renderizados en mi mensaje dentro de la aplicación?
Copiar texto de otra aplicación (como un procesador de texto o una página web) puede insertar caracteres invisibles o no imprimibles en el cuerpo de tu mensaje. Esos caracteres pueden aparecer como símbolos sueltos o romper Liquid y HTML en mensajes personalizados.
Para corregir caracteres sueltos o no renderizados, vuelve a escribir el texto afectado en el editor de Braze, o elimina los caracteres no deseados directamente en lugar de seleccionar y reemplazar solo el texto visible. Para mensajes HTML personalizados con caracteres especiales, añade <meta charset="UTF-8"> dentro de tu <head> HTML. Consulta Codificación de caracteres para más detalles.
¿Por qué el botón de cierre está oculto en los mensajes HTML dentro de la aplicación a pantalla completa en Android?
En dispositivos con pantallas de borde a borde (incluido Android 15+), los mensajes HTML dentro de la aplicación a pantalla completa pueden dibujarse detrás de la barra de estado del sistema y ocultar un control de cierre en la parte superior del diseño.
La versión 37.0.0 y posteriores del SDK de Braze para Android aplican márgenes de ventana (window insets) a los mensajes HTML dentro de la aplicación de forma predeterminada, de modo que los controles permanezcan en el área segura. Si los usuarios siguen viendo superposición, actualiza a la última versión del SDK de Braze para Android.
En versiones anteriores del SDK, los desarrolladores podían habilitar BrazeConfig.setIsHtmlInAppMessageApplyWindowInsetsEnabled(true) antes de que este comportamiento fuera el predeterminado.
¿Qué debo saber al personalizar mensajes dentro de la aplicación de arrastrar y soltar?
El editor de arrastrar y soltar es compatible con los tipos de visualización modal y pantalla completa. Construyes contenido dentro de esos contenedores con bloques de editor.
Ten en cuenta lo siguiente:
- Enlaces y vínculos profundos: Cada acción de clic tiene un campo de URL por defecto. Usa Liquid en la URL para variar los enlaces según el dispositivo, el tipo de aplicación o los atributos del usuario. En el Contenedor del mensaje, también puedes activar el comportamiento de clic específico de la plataforma para establecer enlaces diferentes por plataforma.
- Opacidad y fondos: La opacidad del contenedor del mensaje afecta a todo el fondo del mensaje. Los bloques individuales pueden establecer sus propios colores de fondo. Para un control más preciso, añade CSS personalizado en un bloque de código personalizado.
- Ancho del mensaje: El ancho máximo del Contenedor del mensaje no se puede establecer por debajo de 325 px en el editor, lo que mantiene el contenido legible en pantallas más pequeñas. Usa CSS personalizado si necesitas un diseño más estrecho.
- Fondos específicos de plataforma: Un único mensaje utiliza la misma imagen de fondo y los mismos colores en web y móvil. No puedes establecer fondos diferentes por plataforma en el editor.
- Mensajes de varias páginas: Las imágenes de fondo y las acciones de clic a nivel de mensaje se aplican en todas las páginas de un mensaje de varias páginas. Para utilizar imágenes completas diferentes en cada página, añade botones que enlacen a la página siguiente.
- Estilos a nivel de mensaje: Los estilos a nivel de mensaje se aplican a todo el mensaje.
- Imágenes de fondo: Las imágenes de fondo se estiran para ajustarse al modal.
Para más consideraciones del editor, consulta la Guía de preparación de mensajes dentro de la aplicación.
¿Qué significa “Event was published, but no subscribers were found” en los registros del SDK de Android?
Esta línea de registro normalmente no es un error. Suele aparecer cuando Braze publica un evento interno (como NoMatchingTriggerEvent) y no hay ningún listener de mensajes dentro de la aplicación o de Content Cards suscrito en ese momento.
Si ves este registro cuando esperas que un evento personalizado desencadene un mensaje dentro de la aplicación, confirma que el evento está registrado, que el usuario está en la audiencia de la Campaign o el Canvas, y que las Content Cards están sincronizadas cuando el mensaje depende de ellas.