Tutorial: Mostrar mensajes dentro de la aplicación de forma condicional
Sigue el código de ejemplo de este tutorial para mostrar mensajes dentro de la aplicación de forma condicional utilizando el SDK de Braze.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK de Web Braze. Sin embargo, no es necesario realizar ninguna configuración adicional.
Visualización condicional de mensajes dentro de la aplicación para Web

Estamos probando este nuevo formato de tutorial. Dinos qué opinan — sus comentarios nos ayudan a mejorar las guías futuras.
1. Eliminar llamadas a automaticallyShowInAppMessages() {#1-remove-calls-to-automaticallyshowinappmessages}
Elimina cualquier llamada a automaticallyShowInAppMessages(), ya que anularán cualquier lógica personalizada que implementes más adelante.
2. Habilitar depuración (opcional) {#2-enable-debugging-optional}
Para facilitar la solución de problemas durante el desarrollo, considera habilitar la depuración.
3. Suscribirse a las actualizaciones de mensajes dentro de la aplicación {#3-subscribe-to-in-app-message-updates}
Registra una devolución de llamada con subscribeToInAppMessage(callback) para recibir un message cada vez que se desencadene un mensaje dentro de la aplicación.
4. Crear lógica condicional {#4-create-conditional-logic}
Crea una lógica personalizada para controlar cuándo se muestran los mensajes. En este ejemplo, la lógica comprueba si la URL contiene "checkout" o si existe un elemento #checkout en la página.
5. Mostrar mensajes con showInAppMessage {#5-display-messages-with-showinappmessage}
Para mostrar el mensaje, llama a showInAppMessage(message). Si se omite, el mensaje se descartará.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK de Android Braze. También tendrás que habilitar los mensajes dentro de la aplicación para Android.
Visualización condicional de mensajes dentro de la aplicación para Android

Estamos probando este nuevo formato de tutorial. Dinos qué opinan — sus comentarios nos ayudan a mejorar las guías futuras.
1. Habilitar depuración (opcional) {#1-enable-debugging-optional}
Para facilitar la solución de problemas durante el desarrollo, considera habilitar la depuración.
2. Registrar las devoluciones de llamada del ciclo de vida de la actividad {#2-register-activity-lifecycle-callbacks}
Registra el listener predeterminado de Braze para gestionar el ciclo de vida de los mensajes dentro de la aplicación.
3. Configurar un listener de mensajes dentro de la aplicación {#3-set-up-an-in-app-message-listener}
Utiliza BrazeInAppMessageManager para configurar un listener personalizado que intercepte los mensajes antes de que se muestren.
4. Crear lógica condicional
Utiliza lógica personalizada para controlar el momento en que se muestran los mensajes. En este ejemplo, la lógica personalizada comprueba si el extra should_display_message está establecido en "true".
5. Devolver o descartar el mensaje {#5-return-or-discard-the-message}
Devuelve un InAppMessageOperation con DISPLAY_NOW para mostrar el mensaje, o con DISCARD para suprimirlo.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK de Swift Braze. También tendrás que habilitar los mensajes dentro de la aplicación para Swift.
Visualización condicional de mensajes dentro de la aplicación para Swift

Estamos probando este nuevo formato de tutorial. Dinos qué opinan — sus comentarios nos ayudan a mejorar las guías futuras.
1. Implementar el BrazeInAppMessageUIDelegate {#1-implement-the-brazeinappmessageuidelegate}
En tu clase AppDelegate, implementa BrazeInAppMessageUIDelegate para poder sobrescribir su método inAppMessage más adelante.
2. Habilitar depuración (opcional)
Para facilitar la solución de problemas durante el desarrollo, considera habilitar la depuración.
3. Configurar la interfaz de usuario de Braze y el delegado {#3-set-up-your-braze-ui-and-delegate}
BrazeInAppMessageUI() muestra mensajes dentro de la aplicación de forma predeterminada. Al asignar self como delegado, puedes interceptar y gestionar los mensajes antes de que se muestren.
4. Sobrescribir DisplayChoice con lógica condicional {#4-override-displaychoice-with-conditional-logic}
Sobrescribe inAppMessage(_:displayChoiceForMessage:) para decidir si se debe mostrar un mensaje. Devuelve .now para mostrar el mensaje o .discard para suprimirlo.