Mensajes dentro de la aplicación
Obtén información sobre los mensajes dentro de la aplicación y cómo configurarlos para el SDK de Braze.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK Web de Braze. Sin embargo, no es necesaria ninguna configuración adicional.
Tipos de mensajes
Todos los mensajes dentro de la aplicación heredan su prototipo de InAppMessage, que define el comportamiento y las características básicas para todos los mensajes dentro de la aplicación. Las subclases prototípicas son SlideUpMessage, ModalMessage, FullScreenMessage y HtmlMessage.
Cada tipo de mensaje dentro de la aplicación es personalizable en contenido, imágenes, iconos, acciones de clic, análisis, visualización y entrega.
Los mensajes dentro de la aplicación SlideUp se llaman así porque tradicionalmente en plataformas móviles “se deslizan hacia arriba” o “se deslizan hacia abajo” desde la parte superior o inferior de la pantalla. En el SDK Web de Braze, estos mensajes se muestran con un estilo más parecido a una notificación tipo Growl o Toast para alinearse con el paradigma dominante de la web. Cubren una pequeña porción de la pantalla y ofrecen una capacidad de mensajería eficaz y no intrusiva.

Los mensajes dentro de la aplicación Modal aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Útiles para mensajes más críticos, pueden equiparse con hasta dos botones habilitados para acciones de clic y análisis.

Los mensajes dentro de la aplicación Full son útiles para maximizar el contenido y el impacto de tu comunicación con los usuarios. En ventanas de navegador estrechas (por ejemplo, la web móvil), los mensajes dentro de la aplicación full ocupan toda la ventana del navegador. En ventanas de navegador más grandes, los mensajes dentro de la aplicación full se muestran de manera similar a los mensajes dentro de la aplicación modal. La mitad superior de un mensaje dentro de la aplicación full contiene una imagen, y la mitad inferior permite hasta ocho líneas de texto, así como hasta dos botones habilitados para acciones de clic y análisis.

Los mensajes dentro de la aplicación HTML son útiles para crear contenido de usuario totalmente personalizado. El HTML definido por el usuario se muestra en un iFrame y puede contener contenido enriquecido, como imágenes, fuentes, videos y elementos interactivos, lo que permite un control total sobre la apariencia y funcionalidad del mensaje. Estos admiten una interfaz JavaScript brazeBridge para llamar a métodos del SDK Web de Braze desde tu HTML. Consulta nuestras buenas prácticas para más detalles.

Para habilitar los mensajes dentro de la aplicación HTML a través del SDK Web, debes proporcionar la opción de inicialización allowUserSuppliedJavascript a Braze, por ejemplo, braze.initialize('YOUR-API_KEY', {allowUserSuppliedJavascript: true}). Esto es por razones de seguridad. Los mensajes dentro de la aplicación HTML pueden ejecutar JavaScript, por lo que requerimos que un administrador del sitio los habilite.
El siguiente ejemplo muestra un mensaje dentro de la aplicación HTML paginado:

Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK de Braze para Android. También tendrás que habilitar los mensajes dentro de la aplicación.
Tipos de mensajes
Braze ofrece varios tipos predeterminados de mensajes dentro de la aplicación, cada uno personalizable con mensajes, imágenes, iconos Font Awesome, acciones de clic, análisis, combinaciones de colores y más.
Su comportamiento y características básicas se definen mediante la interfaz IInAppMessage, en una subclase llamada InAppMessageBase. IInAppMessage también incluye una subinterfaz, IInAppMessageImmersive, que te permite añadir botones de cierre, acción de clic y análisis a tu aplicación.

Ten en cuenta que los mensajes dentro de la aplicación que contengan botones incluirán el mensaje clickAction en la carga útil final si la acción de clic se añade antes de añadir el texto del botón.
Los mensajes dentro de la aplicación modal aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Son útiles para mensajería más crítica y pueden equiparse con dos botones con acción de clic y análisis habilitados.
Este tipo de mensaje es una subclase de InAppMessageImmersiveBase, una clase abstracta que implementa IInAppMessageImmersive, lo que te ofrece la opción de añadir funcionalidades personalizadas a tus mensajes generados localmente dentro de la aplicación.

Los mensajes dentro de la aplicación full son útiles para maximizar el contenido y el impacto de tu comunicación con el usuario. La mitad superior de un mensaje dentro de la aplicación full contiene una imagen, y la mitad inferior muestra texto y hasta dos botones con acción de clic y análisis habilitados.
Este tipo de mensaje extiende InAppMessageImmersiveBase, lo que te ofrece la opción de añadir funcionalidades personalizadas a tus mensajes generados localmente dentro de la aplicación.

Los mensajes dentro de la aplicación HTML son útiles para crear contenido de usuario totalmente personalizado. El contenido HTML de los mensajes dentro de la aplicación, definido por el usuario, se muestra en un WebView y puede contener opcionalmente otros contenidos enriquecidos, como imágenes y fuentes, lo que permite un control total sobre la apariencia y la funcionalidad de los mensajes.
Este tipo de mensaje implementa IInAppMessageHtml, que es una subclase de IInAppMessage.

En Android, los enlaces configurados con target="_blank" en mensajes HTML personalizados dentro de la aplicación se abren en el navegador web predeterminado del dispositivo.
Los mensajes dentro de la aplicación de Android admiten una interfaz JavaScript brazeBridge para llamar a métodos en el SDK de Braze para Android desde tu HTML. Consulta nuestra página sobre el puente JavaScript para obtener más detalles.


Actualmente no admitimos la visualización de mensajes HTML personalizados dentro de la aplicación en un iFrame en las plataformas iOS y Android.

También puedes definir vistas de mensajes personalizados dentro de la aplicación para tu aplicación. Para obtener una guía completa, consulta Configuración de fábricas personalizadas.
Habilitación de mensajes dentro de la aplicación
Paso 1: Realizar el registro BrazeInAppMessageManager
La visualización de mensajes dentro de la aplicación es gestionada por la clase BrazeInAppMessageManager. Cada actividad de tu aplicación debe registrarse en BrazeInAppMessageManager para que pueda añadir vistas de mensajes dentro de la aplicación a la jerarquía de vistas. Hay dos formas de conseguirlo:
La integración de la devolución de llamada del ciclo de vida de la actividad gestiona automáticamente el registro de mensajes dentro de la aplicación; no se requiere ninguna integración adicional. Este es el método recomendado para gestionar el registro de mensajes dentro de la aplicación.

Si utilizas la devolución de llamada del ciclo de vida de la actividad para el registro automático, no completes este paso.
En tu Application.onCreate(), llama alensureSubscribedToInAppMessageEvents() :
BrazeInAppMessageManager.getInstance().ensureSubscribedToInAppMessageEvents(context);
BrazeInAppMessageManager.getInstance().ensureSubscribedToInAppMessageEvents(context)
En cada actividad en la que se puedan mostrar mensajes dentro de la aplicación, llama aregisterInAppMessageManager() en esa actividadonResume():
@Override
public void onResume() {
super.onResume();
// Registers the BrazeInAppMessageManager for the current Activity. This Activity will now listen for
// in-app messages from Braze.
BrazeInAppMessageManager.getInstance().registerInAppMessageManager(activity);
}
public override fun onResume() {
super.onResume()
// Registers the BrazeInAppMessageManager for the current Activity. This Activity will now listen for
// in-app messages from Braze.
BrazeInAppMessageManager.getInstance().registerInAppMessageManager(this)
}
En cada actividad en la queregisterInAppMessageManager()se haya llamado a , llama aunregisterInAppMessageManager() en la actividad onPause():
@Override
public void onPause() {
super.onPause();
// Unregisters the BrazeInAppMessageManager for the current Activity.
BrazeInAppMessageManager.getInstance().unregisterInAppMessageManager(activity);
}
public override fun onPause() {
super.onPause()
// Unregisters the BrazeInAppMessageManager.
BrazeInAppMessageManager.getInstance().unregisterInAppMessageManager(this)
}
Paso 2: Actualiza la lista de bloqueados del administrador (opcional)
En tu integración, puedes requerir que ciertas actividades de tu aplicación no muestren mensajes dentro de la aplicación. La integración de la devolución de llamada del ciclo de vida de la actividad proporciona una forma sencilla de conseguirlo.
El siguiente código de ejemplo añade dos actividades a la lista de bloqueo de registro de mensajes dentro de la aplicación, SplashActivity y SettingsActivity:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Set<Class> inAppMessageBlocklist = new HashSet<>();
inAppMessageBlocklist.add(SplashActivity.class);
inAppMessageBlocklist.add(SettingsActivity.class);
registerActivityLifecycleCallbacks(new BrazeActivityLifecycleCallbackListener(inAppMessageBlocklist));
}
}
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
val inAppMessageBlocklist = HashSet<Class<*>>()
inAppMessageBlocklist.add(SplashActivity::class.java)
inAppMessageBlocklist.add(SettingsActivity::class.java)
registerActivityLifecycleCallbacks(BrazeActivityLifecycleCallbackListener(inAppMessageBlocklist))
}
}
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK Swift de Braze. También tendrás que habilitar los mensajes dentro de la aplicación.
Tipos de mensajes
Cada tipo de mensaje dentro de la aplicación es altamente personalizable en cuanto a contenido, imágenes, iconos, acciones de clic, análisis, visualización y entrega. Son tipos enumerados de Braze.InAppMessage, que define el comportamiento y los rasgos básicos de todos los mensajes dentro de la aplicación. Para ver la lista completa de propiedades y usos de los mensajes dentro de la aplicación, consulta la clase InAppMessage.
Estos son los tipos de mensajes dentro de la aplicación disponibles en Braze y cómo se verán para los usuarios finales.
Los mensajes dentro de la aplicación Modal aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Útiles para una mensajería más crítica, pueden equiparse con hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Modal Image aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Estos mensajes son similares a los del tipo Modal, excepto que no tienen encabezado ni texto de mensaje. Útiles para una mensajería más crítica, pueden equiparse con hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Full son útiles para maximizar el contenido y el impacto de tu comunicación con el usuario. La mitad superior de un mensaje dentro de la aplicación Full contiene una imagen, y la mitad inferior muestra texto y hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Full Image son similares a los mensajes dentro de la aplicación Full, excepto que no tienen encabezado ni texto de mensaje. Este tipo de mensaje es útil para maximizar el contenido y el impacto de tu comunicación con el usuario. Un mensaje dentro de la aplicación Full Image contiene una imagen que abarca toda la pantalla, con la opción de mostrar hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación HTML son útiles para crear contenido de usuario totalmente personalizado. El contenido HTML completo de los mensajes dentro de la aplicación, definido por el usuario, se muestra en un WKWebView y puede contener opcionalmente otros contenidos enriquecidos, como imágenes y fuentes, lo que permite un control total sobre el aspecto y la funcionalidad de los mensajes.
Los mensajes dentro de la aplicación de iOS admiten una interfaz JavaScript brazeBridge para llamar a métodos del SDK Web de Braze desde dentro de tu HTML; consulta nuestras mejores prácticas para obtener más detalles.
El siguiente ejemplo muestra un mensaje HTML completo paginado dentro de la aplicación:

Ten en cuenta que actualmente no admitimos la visualización de mensajes HTML personalizados dentro de la aplicación en un iFrame en las plataformas iOS y Android.
Los mensajes dentro de la aplicación Control no contienen un componente de interfaz de usuario y se utilizan principalmente con fines de análisis. Este tipo se utiliza para verificar la recepción de un mensaje dentro de la aplicación enviado a un grupo de control.
Para más detalles sobre la optimización automática de variantes y los grupos de control, consulta Optimizar con BrazeAITM.
Habilitación de mensajes dentro de la aplicación
Paso 1: Crea una implementación de BrazeInAppMessagePresenter
Para que Braze muestre mensajes dentro de la aplicación, crea una implementación del protocolo BrazeInAppMessagePresenter y asígnala a la opción inAppMessagePresenter de tu instancia de Braze. También puedes utilizar el presentador predeterminado de la interfaz de usuario Braze instanciando un objeto BrazeInAppMessageUI.
Ten en cuenta que tendrás que importar la biblioteca BrazeUI para acceder a la clase BrazeInAppMessageUI.
AppDelegate.braze?.inAppMessagePresenter = BrazeInAppMessageUI()
AppDelegate.braze.inAppMessagePresenter = [[BrazeInAppMessageUI alloc] init];
Paso 2: No desencadenar ninguna coincidencia
Implementa BrazeDelegate.(_:noMatchingTriggerForEvent) dentro de la clase BrazeDelegate correspondiente. Cuando Braze no encuentre un desencadenante que coincida con un evento concreto, llamará a este método automáticamente.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK de Braze para Android.
Sobre el soporte de TV y OTT
El SDK de Braze para Android admite de forma nativa la visualización de mensajes dentro de la aplicación en dispositivos OTT como Android TV o Fire Stick. Sin embargo, hay algunas diferencias clave entre los mensajes nativos de Android y los mensajes dentro de la aplicación OTT. Para dispositivos OTT:
- Los mensajes dentro de la aplicación que requieren el modo táctil, como el deslizamiento hacia arriba, están desactivados en OTT.
- Se resaltará el elemento seleccionado o enfocado en ese momento, como un botón o el botón de cerrar.
- No se admiten los clics corporales en el propio mensaje dentro de la aplicación, como no en un botón.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK de Braze para Cordova.
Tipos de mensajes
Braze ofrece varios tipos predeterminados de mensajes dentro de la aplicación, cada uno personalizable con mensajes, imágenes, iconos Font Awesome, acciones de clic, análisis, combinaciones de colores y más.
Su comportamiento y características básicas se definen mediante la interfaz IInAppMessage, en una subclase llamada InAppMessageBase. IInAppMessage también incluye una subinterfaz, IInAppMessageImmersive, que te permite añadir botones de cierre, acción de clic y análisis a tu aplicación.

Ten en cuenta que los mensajes dentro de la aplicación que contengan botones incluirán el mensaje clickAction en la carga útil final si la acción de clic se añade antes de añadir el texto del botón.
Los mensajes dentro de la aplicación modal aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Son útiles para mensajería más crítica y pueden equiparse con dos botones con acción de clic y análisis habilitados.
Este tipo de mensaje es una subclase de InAppMessageImmersiveBase, una clase abstracta que implementa IInAppMessageImmersive, lo que te ofrece la opción de añadir funcionalidades personalizadas a tus mensajes generados localmente dentro de la aplicación.

Los mensajes dentro de la aplicación full son útiles para maximizar el contenido y el impacto de tu comunicación con el usuario. La mitad superior de un mensaje dentro de la aplicación full contiene una imagen, y la mitad inferior muestra texto y hasta dos botones con acción de clic y análisis habilitados.
Este tipo de mensaje extiende InAppMessageImmersiveBase, lo que te ofrece la opción de añadir funcionalidades personalizadas a tus mensajes generados localmente dentro de la aplicación.

Los mensajes dentro de la aplicación HTML son útiles para crear contenido de usuario totalmente personalizado. El contenido HTML de los mensajes dentro de la aplicación, definido por el usuario, se muestra en un WebView y puede contener opcionalmente otros contenidos enriquecidos, como imágenes y fuentes, lo que permite un control total sobre la apariencia y la funcionalidad de los mensajes.
Este tipo de mensaje implementa IInAppMessageHtml, que es una subclase de IInAppMessage.

En Android, los enlaces configurados con target="_blank" en mensajes HTML personalizados dentro de la aplicación se abren en el navegador web predeterminado del dispositivo.
Los mensajes dentro de la aplicación de Android admiten una interfaz JavaScript brazeBridge para llamar a métodos en el SDK de Braze para Android desde tu HTML. Consulta nuestra página sobre el puente JavaScript para obtener más detalles.


Actualmente no admitimos la visualización de mensajes HTML personalizados dentro de la aplicación en un iFrame en las plataformas iOS y Android.

También puedes definir vistas de mensajes personalizados dentro de la aplicación para tu aplicación. Para obtener una guía completa, consulta Configuración de fábricas personalizadas.
Cada tipo de mensaje dentro de la aplicación es altamente personalizable en cuanto a contenido, imágenes, iconos, acciones de clic, análisis, visualización y entrega. Son tipos enumerados de Braze.InAppMessage, que define el comportamiento y los rasgos básicos de todos los mensajes dentro de la aplicación. Para ver la lista completa de propiedades y usos de los mensajes dentro de la aplicación, consulta la clase InAppMessage.
Estos son los tipos de mensajes dentro de la aplicación disponibles en Braze y cómo se verán para los usuarios finales.
Los mensajes dentro de la aplicación Modal aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Útiles para una mensajería más crítica, pueden equiparse con hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Modal Image aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Estos mensajes son similares a los del tipo Modal, excepto que no tienen encabezado ni texto de mensaje. Útiles para una mensajería más crítica, pueden equiparse con hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Full son útiles para maximizar el contenido y el impacto de tu comunicación con el usuario. La mitad superior de un mensaje dentro de la aplicación Full contiene una imagen, y la mitad inferior muestra texto y hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Full Image son similares a los mensajes dentro de la aplicación Full, excepto que no tienen encabezado ni texto de mensaje. Este tipo de mensaje es útil para maximizar el contenido y el impacto de tu comunicación con el usuario. Un mensaje dentro de la aplicación Full Image contiene una imagen que abarca toda la pantalla, con la opción de mostrar hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación HTML son útiles para crear contenido de usuario totalmente personalizado. El contenido HTML completo de los mensajes dentro de la aplicación, definido por el usuario, se muestra en un WKWebView y puede contener opcionalmente otros contenidos enriquecidos, como imágenes y fuentes, lo que permite un control total sobre el aspecto y la funcionalidad de los mensajes.
Los mensajes dentro de la aplicación de iOS admiten una interfaz JavaScript brazeBridge para llamar a métodos del SDK Web de Braze desde dentro de tu HTML; consulta nuestras mejores prácticas para obtener más detalles.
El siguiente ejemplo muestra un mensaje HTML completo paginado dentro de la aplicación:

Ten en cuenta que actualmente no admitimos la visualización de mensajes HTML personalizados dentro de la aplicación en un iFrame en las plataformas iOS y Android.
Los mensajes dentro de la aplicación Control no contienen un componente de interfaz de usuario y se utilizan principalmente con fines de análisis. Este tipo se utiliza para verificar la recepción de un mensaje dentro de la aplicación enviado a un grupo de control.
Para más detalles sobre la optimización automática de variantes y los grupos de control, consulta Optimizar con BrazeAITM.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK de Flutter de Braze.
Tipos de mensajes
Braze ofrece varios tipos predeterminados de mensajes dentro de la aplicación, cada uno personalizable con mensajes, imágenes, iconos Font Awesome, acciones de clic, análisis, combinaciones de colores y más.
Su comportamiento y características básicas se definen mediante la interfaz IInAppMessage, en una subclase llamada InAppMessageBase. IInAppMessage también incluye una subinterfaz, IInAppMessageImmersive, que te permite añadir botones de cierre, acción de clic y análisis a tu aplicación.

Ten en cuenta que los mensajes dentro de la aplicación que contengan botones incluirán el mensaje clickAction en la carga útil final si la acción de clic se añade antes de añadir el texto del botón.
Los mensajes dentro de la aplicación modal aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Son útiles para mensajería más crítica y pueden equiparse con dos botones con acción de clic y análisis habilitados.
Este tipo de mensaje es una subclase de InAppMessageImmersiveBase, una clase abstracta que implementa IInAppMessageImmersive, lo que te ofrece la opción de añadir funcionalidades personalizadas a tus mensajes generados localmente dentro de la aplicación.

Los mensajes dentro de la aplicación full son útiles para maximizar el contenido y el impacto de tu comunicación con el usuario. La mitad superior de un mensaje dentro de la aplicación full contiene una imagen, y la mitad inferior muestra texto y hasta dos botones con acción de clic y análisis habilitados.
Este tipo de mensaje extiende InAppMessageImmersiveBase, lo que te ofrece la opción de añadir funcionalidades personalizadas a tus mensajes generados localmente dentro de la aplicación.

Los mensajes dentro de la aplicación HTML son útiles para crear contenido de usuario totalmente personalizado. El contenido HTML de los mensajes dentro de la aplicación, definido por el usuario, se muestra en un WebView y puede contener opcionalmente otros contenidos enriquecidos, como imágenes y fuentes, lo que permite un control total sobre la apariencia y la funcionalidad de los mensajes.
Este tipo de mensaje implementa IInAppMessageHtml, que es una subclase de IInAppMessage.

En Android, los enlaces configurados con target="_blank" en mensajes HTML personalizados dentro de la aplicación se abren en el navegador web predeterminado del dispositivo.
Los mensajes dentro de la aplicación de Android admiten una interfaz JavaScript brazeBridge para llamar a métodos en el SDK de Braze para Android desde tu HTML. Consulta nuestra página sobre el puente JavaScript para obtener más detalles.


Actualmente no admitimos la visualización de mensajes HTML personalizados dentro de la aplicación en un iFrame en las plataformas iOS y Android.

También puedes definir vistas de mensajes personalizados dentro de la aplicación para tu aplicación. Para obtener una guía completa, consulta Configuración de fábricas personalizadas.
Cada tipo de mensaje dentro de la aplicación es altamente personalizable en cuanto a contenido, imágenes, iconos, acciones de clic, análisis, visualización y entrega. Son tipos enumerados de Braze.InAppMessage, que define el comportamiento y los rasgos básicos de todos los mensajes dentro de la aplicación. Para ver la lista completa de propiedades y usos de los mensajes dentro de la aplicación, consulta la clase InAppMessage.
Estos son los tipos de mensajes dentro de la aplicación disponibles en Braze y cómo se verán para los usuarios finales.
Los mensajes dentro de la aplicación Modal aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Útiles para una mensajería más crítica, pueden equiparse con hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Modal Image aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Estos mensajes son similares a los del tipo Modal, excepto que no tienen encabezado ni texto de mensaje. Útiles para una mensajería más crítica, pueden equiparse con hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Full son útiles para maximizar el contenido y el impacto de tu comunicación con el usuario. La mitad superior de un mensaje dentro de la aplicación Full contiene una imagen, y la mitad inferior muestra texto y hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Full Image son similares a los mensajes dentro de la aplicación Full, excepto que no tienen encabezado ni texto de mensaje. Este tipo de mensaje es útil para maximizar el contenido y el impacto de tu comunicación con el usuario. Un mensaje dentro de la aplicación Full Image contiene una imagen que abarca toda la pantalla, con la opción de mostrar hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación HTML son útiles para crear contenido de usuario totalmente personalizado. El contenido HTML completo de los mensajes dentro de la aplicación, definido por el usuario, se muestra en un WKWebView y puede contener opcionalmente otros contenidos enriquecidos, como imágenes y fuentes, lo que permite un control total sobre el aspecto y la funcionalidad de los mensajes.
Los mensajes dentro de la aplicación de iOS admiten una interfaz JavaScript brazeBridge para llamar a métodos del SDK Web de Braze desde dentro de tu HTML; consulta nuestras mejores prácticas para obtener más detalles.
El siguiente ejemplo muestra un mensaje HTML completo paginado dentro de la aplicación:

Ten en cuenta que actualmente no admitimos la visualización de mensajes HTML personalizados dentro de la aplicación en un iFrame en las plataformas iOS y Android.
Los mensajes dentro de la aplicación Control no contienen un componente de interfaz de usuario y se utilizan principalmente con fines de análisis. Este tipo se utiliza para verificar la recepción de un mensaje dentro de la aplicación enviado a un grupo de control.
Para más detalles sobre la optimización automática de variantes y los grupos de control, consulta Optimizar con BrazeAITM.
Habilitación de mensajes dentro de la aplicación
El SDK de Braze para Flutter configura automáticamente el presentador predeterminado de mensajes dentro de la aplicación tanto en Android como en iOS. Los mensajes dentro de la aplicación se muestran y se reenvían a la capa Dart sin configuración adicional.
Personalización del presentador de mensajes dentro de la aplicación en iOS
Para anular el presentador predeterminado de mensajes dentro de la aplicación en iOS, utiliza el closure postInitialization en BrazePlugin.configure(_:postInitialization:). Tu presentador personalizado debe llamar a BrazePlugin.processInAppMessage(message) para reenviar los datos del mensaje dentro de la aplicación a la capa Dart.
import BrazeUI
BrazePlugin.configure(
{ configuration in
// Set non-API-key configurations here.
},
postInitialization: { braze in
let customPresenter = CustomInAppMessagePresenter()
braze.inAppMessagePresenter = customPresenter
}
)
En la clase del presentador personalizado, llama a BrazePlugin.processInAppMessage(message) y super.present(message: message) para reenviar los datos a Dart y mostrar la interfaz de usuario predeterminada.
class CustomInAppMessagePresenter: BrazeInAppMessageUI {
override func present(message: Braze.InAppMessage) {
BrazePlugin.processInAppMessage(message)
super.present(message: message)
}
}

Este paso es solo para iOS. La implementación predeterminada para los mensajes dentro de la aplicación ya está configurada en Android.
Para configurar el presentador predeterminado para los mensajes dentro de la aplicación en iOS, crea una implementación del protocolo BrazeInAppMessagePresenter y asígnala al opcional inAppMessagePresenter en tu instancia de Braze. También puedes utilizar el presentador predeterminado de la interfaz de usuario de Braze instanciando un objeto BrazeInAppMessageUI.
Debes importar la biblioteca BrazeUI para acceder a la clase BrazeInAppMessageUI.
import BrazeUI
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
...
let braze = BrazePlugin.initBraze(configuration)
braze.inAppMessagePresenter = BrazeInAppMessageUI()
AppDelegate.braze = braze
return true
}
@import BrazeUI;
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...
Braze *braze = [BrazePlugin initBraze:configuration];
braze.inAppMessagePresenter = [[BrazeInAppMessageUI alloc] init];
AppDelegate.braze = braze;
[self.window makeKeyAndVisible];
return YES;
}
Para más información sobre cómo acceder a los datos de los mensajes dentro de la aplicación, consulta Registro de datos de mensajes dentro de la aplicación.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK de React Native de Braze.
Tipos de mensajes
Braze ofrece varios tipos predeterminados de mensajes dentro de la aplicación, cada uno personalizable con mensajes, imágenes, iconos Font Awesome, acciones de clic, análisis, combinaciones de colores y más.
Su comportamiento y características básicas se definen mediante la interfaz IInAppMessage, en una subclase llamada InAppMessageBase. IInAppMessage también incluye una subinterfaz, IInAppMessageImmersive, que te permite añadir botones de cierre, acción de clic y análisis a tu aplicación.

Ten en cuenta que los mensajes dentro de la aplicación que contengan botones incluirán el mensaje clickAction en la carga útil final si la acción de clic se añade antes de añadir el texto del botón.
Los mensajes dentro de la aplicación modal aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Son útiles para mensajería más crítica y pueden equiparse con dos botones con acción de clic y análisis habilitados.
Este tipo de mensaje es una subclase de InAppMessageImmersiveBase, una clase abstracta que implementa IInAppMessageImmersive, lo que te ofrece la opción de añadir funcionalidades personalizadas a tus mensajes generados localmente dentro de la aplicación.

Los mensajes dentro de la aplicación full son útiles para maximizar el contenido y el impacto de tu comunicación con el usuario. La mitad superior de un mensaje dentro de la aplicación full contiene una imagen, y la mitad inferior muestra texto y hasta dos botones con acción de clic y análisis habilitados.
Este tipo de mensaje extiende InAppMessageImmersiveBase, lo que te ofrece la opción de añadir funcionalidades personalizadas a tus mensajes generados localmente dentro de la aplicación.

Los mensajes dentro de la aplicación HTML son útiles para crear contenido de usuario totalmente personalizado. El contenido HTML de los mensajes dentro de la aplicación, definido por el usuario, se muestra en un WebView y puede contener opcionalmente otros contenidos enriquecidos, como imágenes y fuentes, lo que permite un control total sobre la apariencia y la funcionalidad de los mensajes.
Este tipo de mensaje implementa IInAppMessageHtml, que es una subclase de IInAppMessage.

En Android, los enlaces configurados con target="_blank" en mensajes HTML personalizados dentro de la aplicación se abren en el navegador web predeterminado del dispositivo.
Los mensajes dentro de la aplicación de Android admiten una interfaz JavaScript brazeBridge para llamar a métodos en el SDK de Braze para Android desde tu HTML. Consulta nuestra página sobre el puente JavaScript para obtener más detalles.


Actualmente no admitimos la visualización de mensajes HTML personalizados dentro de la aplicación en un iFrame en las plataformas iOS y Android.

También puedes definir vistas de mensajes personalizados dentro de la aplicación para tu aplicación. Para obtener una guía completa, consulta Configuración de fábricas personalizadas.
Cada tipo de mensaje dentro de la aplicación es altamente personalizable en cuanto a contenido, imágenes, iconos, acciones de clic, análisis, visualización y entrega. Son tipos enumerados de Braze.InAppMessage, que define el comportamiento y los rasgos básicos de todos los mensajes dentro de la aplicación. Para ver la lista completa de propiedades y usos de los mensajes dentro de la aplicación, consulta la clase InAppMessage.
Estos son los tipos de mensajes dentro de la aplicación disponibles en Braze y cómo se verán para los usuarios finales.
Los mensajes dentro de la aplicación Modal aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Útiles para una mensajería más crítica, pueden equiparse con hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Modal Image aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Estos mensajes son similares a los del tipo Modal, excepto que no tienen encabezado ni texto de mensaje. Útiles para una mensajería más crítica, pueden equiparse con hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Full son útiles para maximizar el contenido y el impacto de tu comunicación con el usuario. La mitad superior de un mensaje dentro de la aplicación Full contiene una imagen, y la mitad inferior muestra texto y hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Full Image son similares a los mensajes dentro de la aplicación Full, excepto que no tienen encabezado ni texto de mensaje. Este tipo de mensaje es útil para maximizar el contenido y el impacto de tu comunicación con el usuario. Un mensaje dentro de la aplicación Full Image contiene una imagen que abarca toda la pantalla, con la opción de mostrar hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación HTML son útiles para crear contenido de usuario totalmente personalizado. El contenido HTML completo de los mensajes dentro de la aplicación, definido por el usuario, se muestra en un WKWebView y puede contener opcionalmente otros contenidos enriquecidos, como imágenes y fuentes, lo que permite un control total sobre el aspecto y la funcionalidad de los mensajes.
Los mensajes dentro de la aplicación de iOS admiten una interfaz JavaScript brazeBridge para llamar a métodos del SDK Web de Braze desde dentro de tu HTML; consulta nuestras mejores prácticas para obtener más detalles.
El siguiente ejemplo muestra un mensaje HTML completo paginado dentro de la aplicación:

Ten en cuenta que actualmente no admitimos la visualización de mensajes HTML personalizados dentro de la aplicación en un iFrame en las plataformas iOS y Android.
Los mensajes dentro de la aplicación Control no contienen un componente de interfaz de usuario y se utilizan principalmente con fines de análisis. Este tipo se utiliza para verificar la recepción de un mensaje dentro de la aplicación enviado a un grupo de control.
Para más detalles sobre la optimización automática de variantes y los grupos de control, consulta Optimizar con BrazeAITM.
Modelo de datos
El modelo de mensajes dentro de la aplicación está disponible en el SDK de React Native. Braze tiene cuatro tipos de mensajes dentro de la aplicación que comparten el mismo modelo de datos: deslizamiento hacia arriba, modal, completo y HTML completo.
Mensajes
El modelo de mensajes dentro de la aplicación proporciona la base para todos los mensajes dentro de la aplicación.
| Propiedad | Descripción |
|---|---|
inAppMessageJsonString |
La representación JSON del mensaje. |
message |
El texto del mensaje. |
header |
El encabezado del mensaje. |
uri |
La URI asociada a la acción de clic del botón. |
imageUrl |
La URL de la imagen del mensaje. |
zippedAssetsUrl |
Los activos comprimidos preparados para mostrar contenido HTML. |
useWebView |
Indica si la acción de clic del botón debe redirigirse utilizando una vista web. |
duration |
La duración de la visualización del mensaje. |
clickAction |
El tipo de acción de clic del botón. Los tipos son: URI y NONE. |
dismissType |
El tipo de cierre del mensaje. Los dos tipos son: SWIPE y AUTO_DISMISS. |
messageType |
El tipo de mensaje dentro de la aplicación admitido por el SDK. Los cuatro tipos son: SLIDEUP, MODAL, FULL y HTML_FULL. |
extras |
El diccionario de extras del mensaje. Valor predeterminado: [:]. |
buttons |
La lista de botones del mensaje dentro de la aplicación. |
toString() |
El mensaje como representación de cadena. |
Para una referencia completa del modelo de mensajes dentro de la aplicación, consulta la documentación de Android e iOS.
Botones
Se pueden añadir botones a los mensajes dentro de la aplicación para realizar acciones y registrar análisis. El modelo de botón proporciona la base para todos los botones de mensajes dentro de la aplicación.
| Propiedad | Descripción |
|---|---|
text |
El texto del botón. |
uri |
La URI asociada a la acción de clic del botón. |
useWebView |
Indica si la acción de clic del botón debe redirigirse utilizando una vista web. |
clickAction |
El tipo de acción de clic que se procesa cuando el usuario hace clic en el botón. Los tipos son: URI y NONE. |
id |
El ID del botón en el mensaje. |
toString() |
El botón como representación de cadena. |
Para una referencia completa del modelo de botones, consulta la documentación de Android e iOS.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK de Roku de Braze. Además, los mensajes dentro de la aplicación solo se enviarán a dispositivos Roku que ejecuten la versión mínima compatible del SDK:
Tipos de mensajes
El SDK de Roku solo admite mensajes dentro de la aplicación modales.
Elegir un método de visualización
El SDK de Roku 2.3.0 y versiones posteriores pueden mostrar los mensajes dentro de la aplicación por ti. También puedes seguir renderizándolos con tu propia interfaz de usuario.
| Método | Descripción |
|---|---|
| Interfaz de usuario predeterminada | El SDK muestra los mensajes dentro de la aplicación modales y registra las impresiones y los clics. Esta opción está desactivada de forma predeterminada. |
| Interfaz de usuario personalizada | Tu aplicación observa BrazeTask.BrazeInAppMessage, renderiza el mensaje y registra las impresiones y los clics. Así es como funcionan los mensajes dentro de la aplicación en versiones anteriores del SDK. |
| Interfaz de usuario predeterminada con anulaciones personalizadas | El SDK muestra los mensajes dentro de la aplicación modales, y tu Scene renderiza mensajes específicos con su propia interfaz de usuario. |
Si estás actualizando y ya usas una interfaz de usuario personalizada, consulta Actualizar al SDK de Roku 2.3.0. Tu interfaz de usuario personalizada seguirá funcionando siempre que no actives la interfaz de usuario predeterminada.
Uso de la interfaz de usuario predeterminada

La interfaz de usuario predeterminada requiere el SDK de Roku 2.3.0 o posterior.
Paso 1: Añade los archivos de la interfaz de usuario predeterminada
Añade los siguientes archivos del directorio sdk_files/components del repositorio del SDK de Roku de Braze al directorio components de tu aplicación:
BrazeDefaultInAppMessage.brsBrazeDefaultInAppMessage.xmlBrazeDefaultInAppMessageStyles.brs
Si faltan estos archivos, el SDK registra BrazeDefaultInAppMessage component not found y no muestra el mensaje.
Paso 2: Activa la interfaz de usuario predeterminada
En main.brs, establece automatic_iam_display en true en tu configuración de Braze:
config[config_fields.AUTOMATIC_IAM_DISPLAY] = true
globalNode.addFields({brazeConfig: config})
Paso 3: Inicializa Braze desde tu Scene
Llama a getBrazeInstance() desde tu componente Scene, por ejemplo en init():
sub init()
m.BrazeTask = CreateObject("roSGNode", "BrazeTask")
m.Braze = getBrazeInstance(m.BrazeTask)
end sub

Si llamas a getBrazeInstance() desde cualquier otro componente, el SDK no puede adjuntar la superposición a la Scene y el mensaje se pierde.
No necesitas observar BrazeTask.BrazeInAppMessage ni crear ninguna interfaz de usuario para los mensajes predeterminados.
Cómo funciona la interfaz de usuario predeterminada
Mensajes compatibles
La interfaz de usuario predeterminada solo muestra mensajes dentro de la aplicación de tipo MODAL. El SDK descarta los demás tipos y registra un error.
La interfaz de usuario predeterminada usa los siguientes campos e ignora cualquier otro.
| Campo | Cómo lo usa la interfaz de usuario predeterminada |
|---|---|
image_url |
Imagen en la parte superior del mensaje. |
header |
Texto del encabezado. |
message |
Texto del cuerpo. |
text_align |
Alineación del encabezado y del cuerpo: "START", "CENTER" o "END". |
bg_color |
Color de fondo del mensaje. |
frame_color |
Color de la superposición de pantalla completa detrás del mensaje. |
header_text_color |
Color del texto del encabezado. |
message_text_color |
Color del texto del cuerpo. |
close_button_color |
Color del botón de cierre ×. |
buttons |
Hasta dos botones. Cada botón usa sus valores text, bg_color y text_color. |
Visualización y descarte
Para cada mensaje modal, el SDK hace lo siguiente:
- Espera
display_delaysegundos, si está configurado. - Añade una superposición
BrazeDefaultInAppMessagede pantalla completa a tu Scene y le da el foco. - Registra la impresión.
- Borra
BrazeTask.BrazeInAppMessage. - Cuando el mensaje se cierra, elimina la superposición y restaura el foco.
Si dismiss_type es AUTO_DISMISS, el mensaje se cierra después de duration milisegundos y no se registra ningún clic. De lo contrario, el mensaje permanece hasta que el usuario lo cierra.
El SDK muestra un mensaje cada vez y no pone los mensajes en cola:
- Un mensaje más reciente cancela un mensaje que todavía está esperando su
display_delay. - Un mensaje más reciente reemplaza al mensaje en pantalla cuando se muestra, después de su propio
display_delay. - Los mensajes descartados (que no son
MODALo que no tienen un valormessage) no cancelan ni reemplazan nada.
Control remoto
| Tecla | Resultado |
|---|---|
| Izquierda y Derecha | Cambian entre botones (hasta dos). |
| Arriba y Abajo | Mueven el foco hacia el botón de cierre × y desde él. |
| OK sobre un botón | Registra un clic en el botón, cierra el mensaje y llama a brazeHandleInAppMessageClick. |
| OK sin botones | Registra un clic en el cuerpo, cierra el mensaje y llama a brazeHandleInAppMessageClick. |
| OK sobre el botón de cierre × | Cierra el mensaje. No se registra ningún clic y no se llama a brazeHandleInAppMessageClick. |
| Atrás | Cierra el mensaje. No se registra ningún clic y no se llama a brazeHandleInAppMessageClick. |
| Cualquier otra tecla | Se ignora. La superposición captura todos los eventos de teclas. |
Foco
Si tu aplicación llama a setFocus mientras se muestra la superposición, por ejemplo cuando se carga contenido, cambian las pantallas o se reproduce un video, la superposición recupera el foco. Cuando el mensaje se cierra, el foco vuelve al último nodo que tu aplicación enfocó.
Si tu aplicación abre un dialog de Scene mientras se muestra la superposición, el diálogo conserva el foco hasta que se cierra.
Manejo de clics y vínculos profundos
El SDK nunca abre URI. Para manejar el click_action y el uri de un mensaje, implementa brazeHandleInAppMessageClick(event) en tu Scene y decláralo en la <interface> de la Scene. Si no está declarado, el SDK no lo llama.
<component name="MainScene" extends="Scene">
<interface>
<function name="brazeHandleInAppMessageClick" />
</interface>
...
</component>
El parámetro event tiene la siguiente estructura:
{
in_app_message: <message AA>,
button: <button AA, or invalid for a body click>,
button_index: <0 or 1, or -1 for a body click>
}
Ten en cuenta lo siguiente:
- El SDK llama a esta función después de quitar la superposición y restaurar el foco, así que puedes abrir una nueva pantalla desde ella.
- Los botones con un
click_actionde"NONE"también llaman a esta función. Compruebaclick_actionantes de actuar. - El SDK ignora el valor de retorno.
- El SDK no llama a esta función cuando el usuario cierra el mensaje con el botón de cierre ×, con Atrás o con
AUTO_DISMISS. - El SDK no llama a esta función para los mensajes que renderizas con
brazeHandleCustomInAppMessage.
Ejemplo: Dirigir un vínculo profundo
- En el panel de Braze, configura el comportamiento al hacer clic del mensaje o del botón como un vínculo profundo con una URI que tu aplicación entienda, como
myapp://details/123. El SDK lo entrega comoclick_action = "URI", con la URI enuri. - En
brazeHandleInAppMessageClick, analiza la URI y dirige al usuario a la pantalla correspondiente:
function brazeHandleInAppMessageClick(event as object) as boolean
target = event.button
if target = invalid then target = event.in_app_message
if target.click_action <> "URI" then return false
if target.uri = invalid then return false
uri = target.uri.ToStr()
prefix = "myapp://details/"
if Left(uri, Len(prefix)) = prefix
' ShowDetailsScreen is a function in your app.
ShowDetailsScreen(Mid(uri, Len(prefix) + 1))
return true
end if
return false
end function

El valor de uri puede llegar como un número, por ejemplo, si el valor en el panel es numérico. Conviértelo con ToStr() antes de analizarlo.
Renderizar mensajes específicos con una interfaz de usuario personalizada
Para renderizar algunos mensajes con tu propia interfaz de usuario y usar la interfaz predeterminada para el resto, implementa brazeHandleCustomInAppMessage(in_app_message) en tu Scene y declárala en la <interface> de la Scene.
El SDK llama a esta función para cada mensaje MODAL después de display_delay. Devuelve true si renderizaste el mensaje. Devuelve false para mostrarlo con la interfaz de usuario predeterminada.
<interface>
<function name="brazeHandleCustomInAppMessage" />
<function name="brazeHandleInAppMessageClick" />
</interface>
function brazeHandleCustomInAppMessage(in_app_message as object) as boolean
if in_app_message.extras <> invalid and in_app_message.extras.msgtype = "sidebyside"
' getDeepestFocusedNode is a helper in the sample app's MainScene.brs.
m.oldFocus = getDeepestFocusedNode(m.top.focusedChild)
m.customMsg = CreateObject("roSGNode", "CustomSideBySideInAppMessage")
m.top.appendChild(m.customMsg)
m.customMsg.BrazeTask = m.BrazeTask
m.customMsg.inappmessage = in_app_message
m.customMsg.setFocus(true)
m.customMsg.ObserveField("isClosed", "reclaimFocus")
return true
end if
return false
end function
sub reclaimFocus()
m.top.removeChild(m.customMsg)
m.customMsg = invalid
if m.oldFocus <> invalid then m.oldFocus.setFocus(true)
end sub
Para ver un componente personalizado completo, consulta CustomSideBySideInAppMessage en la aplicación de ejemplo torchietv del repositorio del SDK de Roku de Braze.
Ten en cuenta lo siguiente:
- El SDK llama a esta función solo cuando
automatic_iam_displayestruey los archivos de la interfaz de usuario predeterminada están en tu aplicación. - Solo los mensajes
MODALllegan a esta función. - Tu interfaz de usuario personalizada se encarga de registrar las impresiones, los clics y los clics en botones, de eliminar su propio nodo y de restaurar el foco.
- El SDK borra
BrazeTask.BrazeInAppMessagey aplicadisplay_delaypor sí mismo, así que no gestiones ninguno de los dos tú mismo. - Cuando llega un mensaje más reciente, el SDK elimina la superposición predeterminada antes de llamar a esta función. No puede eliminar un diseño personalizado que hayas renderizado antes, así que elimínalo en tu Scene.
Usar una interfaz de usuario personalizada para todos los mensajes
Si dejas automatic_iam_display sin configurar, tu aplicación gestiona todos los mensajes dentro de la aplicación. Tu observador, tu interfaz de usuario y tu registro funcionan igual que antes del SDK de Roku 2.3.0, para todos los tipos de mensaje.
Paso 1: Añade un observador
Para procesar los mensajes dentro de la aplicación, puedes añadir un observador en BrazeTask.BrazeInAppMessage:
m.BrazeTask.observeField("BrazeInAppMessage", "onInAppMessageReceived")
Paso 2: Accede a los mensajes desencadenados
Después, dentro de tu controlador, tienes acceso al mensaje dentro de la aplicación de mayor prioridad que hayan desencadenado tus campañas:
sub onInAppMessageReceived()
in_app_message = m.BrazeTask.BrazeInAppMessage
...
end sub
Actualizar al SDK de Roku 2.3.0
El SDK de Roku 2.3.0 añade la interfaz de usuario predeterminada. Está desactivada de forma predeterminada, así que actualizar no cambia cómo se muestran tus mensajes dentro de la aplicación. Elige una de las siguientes opciones.
Mantener tu interfaz de usuario personalizada
- Reemplaza tus archivos actuales del SDK por los archivos del directorio
sdk_filesde la versión 2.3.0. - No configures
automatic_iam_display.
Tu observador, tu interfaz de usuario y tu registro siguen funcionando como antes, para todos los tipos de mensajes. El SDK usa los archivos BrazeDefaultInAppMessage solo cuando automatic_iam_display es true, así que puedes copiarlos con seguridad junto con el resto de sdk_files.
Cambiar a la interfaz de usuario predeterminada
- Reemplaza tus archivos actuales del SDK por los archivos del directorio
sdk_filesde la versión 2.3.0 y añade los archivosBrazeDefaultInAppMessage.brs,BrazeDefaultInAppMessage.xmlyBrazeDefaultInAppMessageStyles.brsacomponents. Tu antiguo componente de ejemploBrazeInAppMessageno se modifica. Puedes eliminarlo después de hacer el cambio. - Activa la interfaz de usuario predeterminada.
- Comprueba que se llama a
getBrazeInstance()desde tu Scene. - Elimina tu gestión actual de mensajes dentro de la aplicación:
- El observador:
m.BrazeTask.observeField("BrazeInAppMessage", "onInAppMessageReceived")y su controlador - La creación y adición de tu nodo de mensaje dentro de la aplicación
- Las llamadas a
LogInAppMessageImpression,LogInAppMessageClickyLogInAppMessageButtonClick m.BrazeTask.BrazeInAppMessage = invalid
- El observador:
- Mueve tu gestión de clics y vínculos profundos a
brazeHandleInAppMessageClick.

El SDK añade su propio observador y no reemplaza el tuyo. Si mantienes tu observador y tu registro al activar la interfaz de usuario predeterminada, los mensajes pueden mostrarse dos veces, y las impresiones y los clics se registran dos veces.
Mantener algunos de tus diseños personalizados
Sigue los pasos de Cambiar a la interfaz de usuario predeterminada. Después, mueve el código de renderizado de tu antiguo controlador a brazeHandleCustomInAppMessage.
En comparación con tu antiguo controlador:
- Mantén tu registro de impresiones y clics.
- Sigue eliminando tu propio nodo y restaurando el foco.
- Elimina
m.BrazeTask.BrazeInAppMessage = invalid. El SDK lo borra. - Elimina tu propia gestión de
display_delay. El SDK la aplica. - Solo los mensajes
MODALllegan a la función. Si renderizas otros tipos de mensajes, sigue usando una interfaz de usuario personalizada para todos los mensajes.
Campos del mensaje
Estos campos están disponibles en in_app_message cuando renderizas mensajes con una interfaz de usuario personalizada. La interfaz de usuario predeterminada los aplica por ti.
Gestión
A continuación se enumeran los campos que necesitarás para gestionar tus mensajes dentro de la aplicación:
| Campos | Descripción |
|---|---|
buttons |
Lista de botones (puede ser una lista vacía). |
click_action |
"URI" o "NONE". Usa este campo para indicar si el mensaje dentro de la aplicación debe abrir un vínculo URI o cerrar el mensaje al hacer clic. Cuando no hay botones, esto debe ocurrir cuando el usuario hace clic en “OK” mientras se muestra el mensaje dentro de la aplicación. |
dismiss_type |
"AUTO_DISMISS" o "SWIPE". Usa este campo para indicar si tu mensaje dentro de la aplicación se descartará automáticamente o requerirá deslizar para descartarlo. |
display_delay |
Cuánto tiempo (en segundos) esperar antes de mostrar el mensaje dentro de la aplicación. |
duration |
Cuánto tiempo (en milisegundos) debe mostrarse el mensaje cuando dismiss_type está configurado como "AUTO_DISMISS". |
extras |
Pares clave-valor. |
header |
El texto del encabezado. |
id |
El ID utilizado para registrar impresiones o clics. |
image_url |
URL de la imagen del mensaje dentro de la aplicación. |
message |
Texto del cuerpo del mensaje. |
uri |
El URI al que se enviará a tus usuarios en función de tu click_action. Este campo debe incluirse cuando click_action es "URI". |

En los mensajes dentro de la aplicación que contienen botones, el click_action del mensaje también se incluirá en la carga útil final si la acción de clic se añade antes de añadir el texto del botón.
Estilo
También hay varios campos de estilo que puedes elegir usar desde el panel:
| Campos | Descripción |
|---|---|
bg_color |
Color de fondo. |
close_button_color |
Color del botón de cierre. |
frame_color |
El color de la superposición de fondo de la pantalla. |
header_text_color |
Color del texto del encabezado. |
message_text_color |
Color del texto del mensaje. |
text_align |
“START”, “CENTER” o “END”. La alineación de texto que hayas seleccionado. |
Como alternativa, puedes implementar el mensaje dentro de la aplicación y darle estilo dentro de tu aplicación de Roku utilizando una paleta estándar:
Botones
| Campos | Descripción |
|---|---|
click_action |
"URI" o "NONE". Usa este campo para indicar si el mensaje dentro de la aplicación debe abrir un vínculo URI o cerrar el mensaje al hacer clic. |
id |
El valor del ID del propio botón. |
text |
El texto que se mostrará en el botón. |
uri |
El URI al que se enviará a tus usuarios en función de tu click_action. Este campo debe incluirse cuando click_action es "URI". |

Ten en cuenta que tendrás que implementar tu propia interfaz de usuario personalizada, ya que la mensajería dentro de la aplicación se admite a través de la interfaz de usuario sin cabeza mediante el SDK de Swift, que no incluye ninguna interfaz de usuario ni vistas predeterminadas para tvOS.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK Swift de Braze.
Habilitación de mensajes dentro de la aplicación
Paso 1: Crear una nueva aplicación iOS
En Braze, selecciona Configuración > Configuración de la aplicación y, a continuación, Añadir aplicación. Introduce un nombre para tu aplicación de tvOS, selecciona iOS (no_tvOS) y_luego selecciona Añadir aplicación.


Si seleccionas la casilla tvOS, no podrás personalizar los mensajes dentro de la aplicación para tvOS.
Paso 2: Obtén la clave de API de tu aplicación
En la configuración de tu aplicación, selecciona tu nueva aplicación para tvOS y toma nota de la clave de API de tu aplicación. Utilizarás esta clave para configurar tu aplicación en Xcode.

Paso 3: Integrar BrazeKit
Utiliza la clave de API de tu aplicación para integrar el SDK de Braze Swift en tu proyecto de tvOS en Xcode. Solo tienes que integrar BrazeKit desde el SDK Swift de Braze.
Paso 4: Crea tu interfaz de usuario personalizada
Como Braze no proporciona una interfaz predeterminada para los mensajes dentro de la aplicación en tvOS, tendrás que personalizarla tú mismo. Para un recorrido completo, consulta nuestro tutorial paso a paso: Personaliza los mensajes dentro de la aplicación para tvOS. Para ver un proyecto de ejemplo, consulta los ejemplos del SDK Swift de Braze.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK de Unity de Braze.
Tipos de mensajes
Braze ofrece varios tipos predeterminados de mensajes dentro de la aplicación, cada uno personalizable con mensajes, imágenes, iconos Font Awesome, acciones de clic, análisis, combinaciones de colores y más.
Su comportamiento y características básicas se definen mediante la interfaz IInAppMessage, en una subclase llamada InAppMessageBase. IInAppMessage también incluye una subinterfaz, IInAppMessageImmersive, que te permite añadir botones de cierre, acción de clic y análisis a tu aplicación.

Ten en cuenta que los mensajes dentro de la aplicación que contengan botones incluirán el mensaje clickAction en la carga útil final si la acción de clic se añade antes de añadir el texto del botón.
Los mensajes dentro de la aplicación modal aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Son útiles para mensajería más crítica y pueden equiparse con dos botones con acción de clic y análisis habilitados.
Este tipo de mensaje es una subclase de InAppMessageImmersiveBase, una clase abstracta que implementa IInAppMessageImmersive, lo que te ofrece la opción de añadir funcionalidades personalizadas a tus mensajes generados localmente dentro de la aplicación.

Los mensajes dentro de la aplicación full son útiles para maximizar el contenido y el impacto de tu comunicación con el usuario. La mitad superior de un mensaje dentro de la aplicación full contiene una imagen, y la mitad inferior muestra texto y hasta dos botones con acción de clic y análisis habilitados.
Este tipo de mensaje extiende InAppMessageImmersiveBase, lo que te ofrece la opción de añadir funcionalidades personalizadas a tus mensajes generados localmente dentro de la aplicación.

Los mensajes dentro de la aplicación HTML son útiles para crear contenido de usuario totalmente personalizado. El contenido HTML de los mensajes dentro de la aplicación, definido por el usuario, se muestra en un WebView y puede contener opcionalmente otros contenidos enriquecidos, como imágenes y fuentes, lo que permite un control total sobre la apariencia y la funcionalidad de los mensajes.
Este tipo de mensaje implementa IInAppMessageHtml, que es una subclase de IInAppMessage.

En Android, los enlaces configurados con target="_blank" en mensajes HTML personalizados dentro de la aplicación se abren en el navegador web predeterminado del dispositivo.
Los mensajes dentro de la aplicación de Android admiten una interfaz JavaScript brazeBridge para llamar a métodos en el SDK de Braze para Android desde tu HTML. Consulta nuestra página sobre el puente JavaScript para obtener más detalles.


Actualmente no admitimos la visualización de mensajes HTML personalizados dentro de la aplicación en un iFrame en las plataformas iOS y Android.

También puedes definir vistas de mensajes personalizados dentro de la aplicación para tu aplicación. Para obtener una guía completa, consulta Configuración de fábricas personalizadas.
Cada tipo de mensaje dentro de la aplicación es altamente personalizable en cuanto a contenido, imágenes, iconos, acciones de clic, análisis, visualización y entrega. Son tipos enumerados de Braze.InAppMessage, que define el comportamiento y los rasgos básicos de todos los mensajes dentro de la aplicación. Para ver la lista completa de propiedades y usos de los mensajes dentro de la aplicación, consulta la clase InAppMessage.
Estos son los tipos de mensajes dentro de la aplicación disponibles en Braze y cómo se verán para los usuarios finales.
Los mensajes dentro de la aplicación Modal aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Útiles para una mensajería más crítica, pueden equiparse con hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Modal Image aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Estos mensajes son similares a los del tipo Modal, excepto que no tienen encabezado ni texto de mensaje. Útiles para una mensajería más crítica, pueden equiparse con hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Full son útiles para maximizar el contenido y el impacto de tu comunicación con el usuario. La mitad superior de un mensaje dentro de la aplicación Full contiene una imagen, y la mitad inferior muestra texto y hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Full Image son similares a los mensajes dentro de la aplicación Full, excepto que no tienen encabezado ni texto de mensaje. Este tipo de mensaje es útil para maximizar el contenido y el impacto de tu comunicación con el usuario. Un mensaje dentro de la aplicación Full Image contiene una imagen que abarca toda la pantalla, con la opción de mostrar hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación HTML son útiles para crear contenido de usuario totalmente personalizado. El contenido HTML completo de los mensajes dentro de la aplicación, definido por el usuario, se muestra en un WKWebView y puede contener opcionalmente otros contenidos enriquecidos, como imágenes y fuentes, lo que permite un control total sobre el aspecto y la funcionalidad de los mensajes.
Los mensajes dentro de la aplicación de iOS admiten una interfaz JavaScript brazeBridge para llamar a métodos del SDK Web de Braze desde dentro de tu HTML; consulta nuestras mejores prácticas para obtener más detalles.
El siguiente ejemplo muestra un mensaje HTML completo paginado dentro de la aplicación:

Ten en cuenta que actualmente no admitimos la visualización de mensajes HTML personalizados dentro de la aplicación en un iFrame en las plataformas iOS y Android.
Los mensajes dentro de la aplicación Control no contienen un componente de interfaz de usuario y se utilizan principalmente con fines de análisis. Este tipo se utiliza para verificar la recepción de un mensaje dentro de la aplicación enviado a un grupo de control.
Para más detalles sobre la optimización automática de variantes y los grupos de control, consulta Optimizar con BrazeAITM.
Requisitos previos
Antes de poder utilizar esta característica, deberás integrar el SDK .NET MAUI de Braze.
Tipos de mensajes
Braze ofrece varios tipos predeterminados de mensajes dentro de la aplicación, cada uno personalizable con mensajes, imágenes, iconos Font Awesome, acciones de clic, análisis, combinaciones de colores y más.
Su comportamiento y características básicas se definen mediante la interfaz IInAppMessage, en una subclase llamada InAppMessageBase. IInAppMessage también incluye una subinterfaz, IInAppMessageImmersive, que te permite añadir botones de cierre, acción de clic y análisis a tu aplicación.

Ten en cuenta que los mensajes dentro de la aplicación que contengan botones incluirán el mensaje clickAction en la carga útil final si la acción de clic se añade antes de añadir el texto del botón.
Los mensajes dentro de la aplicación modal aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Son útiles para mensajería más crítica y pueden equiparse con dos botones con acción de clic y análisis habilitados.
Este tipo de mensaje es una subclase de InAppMessageImmersiveBase, una clase abstracta que implementa IInAppMessageImmersive, lo que te ofrece la opción de añadir funcionalidades personalizadas a tus mensajes generados localmente dentro de la aplicación.

Los mensajes dentro de la aplicación full son útiles para maximizar el contenido y el impacto de tu comunicación con el usuario. La mitad superior de un mensaje dentro de la aplicación full contiene una imagen, y la mitad inferior muestra texto y hasta dos botones con acción de clic y análisis habilitados.
Este tipo de mensaje extiende InAppMessageImmersiveBase, lo que te ofrece la opción de añadir funcionalidades personalizadas a tus mensajes generados localmente dentro de la aplicación.

Los mensajes dentro de la aplicación HTML son útiles para crear contenido de usuario totalmente personalizado. El contenido HTML de los mensajes dentro de la aplicación, definido por el usuario, se muestra en un WebView y puede contener opcionalmente otros contenidos enriquecidos, como imágenes y fuentes, lo que permite un control total sobre la apariencia y la funcionalidad de los mensajes.
Este tipo de mensaje implementa IInAppMessageHtml, que es una subclase de IInAppMessage.

En Android, los enlaces configurados con target="_blank" en mensajes HTML personalizados dentro de la aplicación se abren en el navegador web predeterminado del dispositivo.
Los mensajes dentro de la aplicación de Android admiten una interfaz JavaScript brazeBridge para llamar a métodos en el SDK de Braze para Android desde tu HTML. Consulta nuestra página sobre el puente JavaScript para obtener más detalles.


Actualmente no admitimos la visualización de mensajes HTML personalizados dentro de la aplicación en un iFrame en las plataformas iOS y Android.

También puedes definir vistas de mensajes personalizados dentro de la aplicación para tu aplicación. Para obtener una guía completa, consulta Configuración de fábricas personalizadas.
Cada tipo de mensaje dentro de la aplicación es altamente personalizable en cuanto a contenido, imágenes, iconos, acciones de clic, análisis, visualización y entrega. Son tipos enumerados de Braze.InAppMessage, que define el comportamiento y los rasgos básicos de todos los mensajes dentro de la aplicación. Para ver la lista completa de propiedades y usos de los mensajes dentro de la aplicación, consulta la clase InAppMessage.
Estos son los tipos de mensajes dentro de la aplicación disponibles en Braze y cómo se verán para los usuarios finales.
Los mensajes dentro de la aplicación Modal aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Útiles para una mensajería más crítica, pueden equiparse con hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Modal Image aparecen en el centro de la pantalla y están enmarcados por un panel translúcido. Estos mensajes son similares a los del tipo Modal, excepto que no tienen encabezado ni texto de mensaje. Útiles para una mensajería más crítica, pueden equiparse con hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Full son útiles para maximizar el contenido y el impacto de tu comunicación con el usuario. La mitad superior de un mensaje dentro de la aplicación Full contiene una imagen, y la mitad inferior muestra texto y hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación Full Image son similares a los mensajes dentro de la aplicación Full, excepto que no tienen encabezado ni texto de mensaje. Este tipo de mensaje es útil para maximizar el contenido y el impacto de tu comunicación con el usuario. Un mensaje dentro de la aplicación Full Image contiene una imagen que abarca toda la pantalla, con la opción de mostrar hasta dos botones habilitados para análisis.

Los mensajes dentro de la aplicación HTML son útiles para crear contenido de usuario totalmente personalizado. El contenido HTML completo de los mensajes dentro de la aplicación, definido por el usuario, se muestra en un WKWebView y puede contener opcionalmente otros contenidos enriquecidos, como imágenes y fuentes, lo que permite un control total sobre el aspecto y la funcionalidad de los mensajes.
Los mensajes dentro de la aplicación de iOS admiten una interfaz JavaScript brazeBridge para llamar a métodos del SDK Web de Braze desde dentro de tu HTML; consulta nuestras mejores prácticas para obtener más detalles.
El siguiente ejemplo muestra un mensaje HTML completo paginado dentro de la aplicación:

Ten en cuenta que actualmente no admitimos la visualización de mensajes HTML personalizados dentro de la aplicación en un iFrame en las plataformas iOS y Android.
Los mensajes dentro de la aplicación Control no contienen un componente de interfaz de usuario y se utilizan principalmente con fines de análisis. Este tipo se utiliza para verificar la recepción de un mensaje dentro de la aplicación enviado a un grupo de control.
Para más detalles sobre la optimización automática de variantes y los grupos de control, consulta Optimizar con BrazeAITM.
Próximos pasos
¿Listo para profundizar más? Consulta estos tutoriales paso a paso:
