Ir al contenido

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.

Un mensaje dentro de la aplicación que se desliza desde la parte inferior de la pantalla de un teléfono mostrando "Humans are complicated. Custom engagement shouldn't be." En el fondo se muestra el mismo mensaje dentro de la aplicación en la esquina inferior de una página web.

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.

Un mensaje dentro de la aplicación a pantalla completa que se muestra en toda la pantalla de un teléfono con el texto "Humans are complicated. Custom engagement shouldn't be." En el fondo se muestra el mismo mensaje dentro de la aplicación de gran tamaño en el centro de una página web.

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.

El siguiente ejemplo muestra un mensaje dentro de la aplicación HTML paginado:

Un mensaje dentro de la aplicación HTML con un carrusel de contenido y botones interactivos.

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.

Los mensajes dentro de la aplicación slideup se llaman así porque “se deslizan hacia arriba” o “se deslizan hacia abajo” desde la parte superior o inferior de la pantalla. Cubren una pequeña parte de la pantalla y proporcionan una capacidad de mensajería eficaz y no intrusiva.

El objeto de mensaje dentro de la aplicación slideup extiende InAppMessageBase.

Un mensaje dentro de la aplicación que se desliza desde la parte inferior de la pantalla de un teléfono y que muestra "Los humanos somos complicados. La participación personalizada no debería serlo". En segundo plano aparece el mismo mensaje dentro de la aplicación en la esquina inferior derecha de una página web.

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.

Un mensaje dentro de la aplicación a pantalla completa que se muestra en toda la pantalla del teléfono y dice "Los humanos somos complicados. La participación personalizada no debería serlo". En segundo plano aparece el mismo mensaje dentro de la aplicación, mostrado en gran tamaño en el centro de una página web.

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.

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.

Un mensaje HTML dentro de la aplicación con un carrusel de contenido y botones interactivos.

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.

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 Slideup reciben este nombre porque se “deslizan hacia arriba” o “hacia abajo” desde la parte superior o inferior de la pantalla. Cubren una pequeña parte de la pantalla y proporcionan una capacidad de mensajería eficaz y no intrusiva.

Un mensaje de deslizamiento hacia arriba dentro de la aplicación en la parte inferior y superior de la pantalla del teléfono.

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.

Un mensaje modal de imagen dentro de la aplicación en el centro de la pantalla del teléfono.

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.

Un mensaje dentro de la aplicación a pantalla completa que se muestra en toda la pantalla del teléfono.

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.

Un mensaje dentro de la aplicación con una imagen a pantalla completa que se muestra en toda la pantalla del teléfono.

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:

Un mensaje HTML dentro de la aplicación con un carrusel de contenido y botones interactivos.

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.

Los mensajes dentro de la aplicación slideup se llaman así porque “se deslizan hacia arriba” o “se deslizan hacia abajo” desde la parte superior o inferior de la pantalla. Cubren una pequeña parte de la pantalla y proporcionan una capacidad de mensajería eficaz y no intrusiva.

El objeto de mensaje dentro de la aplicación slideup extiende InAppMessageBase.

Un mensaje dentro de la aplicación que se desliza desde la parte inferior de la pantalla de un teléfono y que muestra "Los humanos somos complicados. La participación personalizada no debería serlo". En segundo plano aparece el mismo mensaje dentro de la aplicación en la esquina inferior derecha de una página web.

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.

Un mensaje dentro de la aplicación a pantalla completa que se muestra en toda la pantalla del teléfono y dice "Los humanos somos complicados. La participación personalizada no debería serlo". En segundo plano aparece el mismo mensaje dentro de la aplicación, mostrado en gran tamaño en el centro de una página web.

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.

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.

Un mensaje HTML dentro de la aplicación con un carrusel de contenido y botones interactivos.

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 Slideup reciben este nombre porque se “deslizan hacia arriba” o “hacia abajo” desde la parte superior o inferior de la pantalla. Cubren una pequeña parte de la pantalla y proporcionan una capacidad de mensajería eficaz y no intrusiva.

Un mensaje de deslizamiento hacia arriba dentro de la aplicación en la parte inferior y superior de la pantalla del teléfono.

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.

Un mensaje modal de imagen dentro de la aplicación en el centro de la pantalla del teléfono.

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.

Un mensaje dentro de la aplicación a pantalla completa que se muestra en toda la pantalla del teléfono.

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.

Un mensaje dentro de la aplicación con una imagen a pantalla completa que se muestra en toda la pantalla del teléfono.

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:

Un mensaje HTML dentro de la aplicación con un carrusel de contenido y botones interactivos.

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.

Los mensajes dentro de la aplicación slideup se llaman así porque “se deslizan hacia arriba” o “se deslizan hacia abajo” desde la parte superior o inferior de la pantalla. Cubren una pequeña parte de la pantalla y proporcionan una capacidad de mensajería eficaz y no intrusiva.

El objeto de mensaje dentro de la aplicación slideup extiende InAppMessageBase.

Un mensaje dentro de la aplicación que se desliza desde la parte inferior de la pantalla de un teléfono y que muestra "Los humanos somos complicados. La participación personalizada no debería serlo". En segundo plano aparece el mismo mensaje dentro de la aplicación en la esquina inferior derecha de una página web.

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.

Un mensaje dentro de la aplicación a pantalla completa que se muestra en toda la pantalla del teléfono y dice "Los humanos somos complicados. La participación personalizada no debería serlo". En segundo plano aparece el mismo mensaje dentro de la aplicación, mostrado en gran tamaño en el centro de una página web.

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.

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.

Un mensaje HTML dentro de la aplicación con un carrusel de contenido y botones interactivos.

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 Slideup reciben este nombre porque se “deslizan hacia arriba” o “hacia abajo” desde la parte superior o inferior de la pantalla. Cubren una pequeña parte de la pantalla y proporcionan una capacidad de mensajería eficaz y no intrusiva.

Un mensaje de deslizamiento hacia arriba dentro de la aplicación en la parte inferior y superior de la pantalla del teléfono.

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.

Un mensaje modal de imagen dentro de la aplicación en el centro de la pantalla del teléfono.

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.

Un mensaje dentro de la aplicación a pantalla completa que se muestra en toda la pantalla del teléfono.

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.

Un mensaje dentro de la aplicación con una imagen a pantalla completa que se muestra en toda la pantalla del teléfono.

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:

Un mensaje HTML dentro de la aplicación con un carrusel de contenido y botones interactivos.

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)
  }
}

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.

Los mensajes dentro de la aplicación slideup se llaman así porque “se deslizan hacia arriba” o “se deslizan hacia abajo” desde la parte superior o inferior de la pantalla. Cubren una pequeña parte de la pantalla y proporcionan una capacidad de mensajería eficaz y no intrusiva.

El objeto de mensaje dentro de la aplicación slideup extiende InAppMessageBase.

Un mensaje dentro de la aplicación que se desliza desde la parte inferior de la pantalla de un teléfono y que muestra "Los humanos somos complicados. La participación personalizada no debería serlo". En segundo plano aparece el mismo mensaje dentro de la aplicación en la esquina inferior derecha de una página web.

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.

Un mensaje dentro de la aplicación a pantalla completa que se muestra en toda la pantalla del teléfono y dice "Los humanos somos complicados. La participación personalizada no debería serlo". En segundo plano aparece el mismo mensaje dentro de la aplicación, mostrado en gran tamaño en el centro de una página web.

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.

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.

Un mensaje HTML dentro de la aplicación con un carrusel de contenido y botones interactivos.

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 Slideup reciben este nombre porque se “deslizan hacia arriba” o “hacia abajo” desde la parte superior o inferior de la pantalla. Cubren una pequeña parte de la pantalla y proporcionan una capacidad de mensajería eficaz y no intrusiva.

Un mensaje de deslizamiento hacia arriba dentro de la aplicación en la parte inferior y superior de la pantalla del teléfono.

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.

Un mensaje modal de imagen dentro de la aplicación en el centro de la pantalla del teléfono.

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.

Un mensaje dentro de la aplicación a pantalla completa que se muestra en toda la pantalla del teléfono.

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.

Un mensaje dentro de la aplicación con una imagen a pantalla completa que se muestra en toda la pantalla del teléfono.

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:

Un mensaje HTML dentro de la aplicación con un carrusel de contenido y botones interactivos.

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

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.brs
  • BrazeDefaultInAppMessage.xml
  • BrazeDefaultInAppMessageStyles.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

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:

  1. Espera display_delay segundos, si está configurado.
  2. Añade una superposición BrazeDefaultInAppMessage de pantalla completa a tu Scene y le da el foco.
  3. Registra la impresión.
  4. Borra BrazeTask.BrazeInAppMessage.
  5. 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 MODAL o que no tienen un valor message) 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.

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_action de "NONE" también llaman a esta función. Comprueba click_action antes 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.
  1. 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 como click_action = "URI", con la URI en uri.
  2. 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

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_display es true y los archivos de la interfaz de usuario predeterminada están en tu aplicación.
  • Solo los mensajes MODAL llegan 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.BrazeInAppMessage y aplica display_delay por 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

  1. Reemplaza tus archivos actuales del SDK por los archivos del directorio sdk_files de la versión 2.3.0.
  2. 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

  1. Reemplaza tus archivos actuales del SDK por los archivos del directorio sdk_files de la versión 2.3.0 y añade los archivos BrazeDefaultInAppMessage.brs, BrazeDefaultInAppMessage.xml y BrazeDefaultInAppMessageStyles.brs a components. Tu antiguo componente de ejemplo BrazeInAppMessage no se modifica. Puedes eliminarlo después de hacer el cambio.
  2. Activa la interfaz de usuario predeterminada.
  3. Comprueba que se llama a getBrazeInstance() desde tu Scene.
  4. 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, LogInAppMessageClick y LogInAppMessageButtonClick
    • m.BrazeTask.BrazeInAppMessage = invalid
  5. Mueve tu gestión de clics y vínculos profundos a brazeHandleInAppMessageClick.

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 MODAL llegan 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".

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".

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.

ALT_TEXT.

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.

ALT_TEXT

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.

Los mensajes dentro de la aplicación slideup se llaman así porque “se deslizan hacia arriba” o “se deslizan hacia abajo” desde la parte superior o inferior de la pantalla. Cubren una pequeña parte de la pantalla y proporcionan una capacidad de mensajería eficaz y no intrusiva.

El objeto de mensaje dentro de la aplicación slideup extiende InAppMessageBase.

Un mensaje dentro de la aplicación que se desliza desde la parte inferior de la pantalla de un teléfono y que muestra "Los humanos somos complicados. La participación personalizada no debería serlo". En segundo plano aparece el mismo mensaje dentro de la aplicación en la esquina inferior derecha de una página web.

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.

Un mensaje dentro de la aplicación a pantalla completa que se muestra en toda la pantalla del teléfono y dice "Los humanos somos complicados. La participación personalizada no debería serlo". En segundo plano aparece el mismo mensaje dentro de la aplicación, mostrado en gran tamaño en el centro de una página web.

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.

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.

Un mensaje HTML dentro de la aplicación con un carrusel de contenido y botones interactivos.

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 Slideup reciben este nombre porque se “deslizan hacia arriba” o “hacia abajo” desde la parte superior o inferior de la pantalla. Cubren una pequeña parte de la pantalla y proporcionan una capacidad de mensajería eficaz y no intrusiva.

Un mensaje de deslizamiento hacia arriba dentro de la aplicación en la parte inferior y superior de la pantalla del teléfono.

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.

Un mensaje modal de imagen dentro de la aplicación en el centro de la pantalla del teléfono.

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.

Un mensaje dentro de la aplicación a pantalla completa que se muestra en toda la pantalla del teléfono.

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.

Un mensaje dentro de la aplicación con una imagen a pantalla completa que se muestra en toda la pantalla del teléfono.

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:

Un mensaje HTML dentro de la aplicación con un carrusel de contenido y botones interactivos.

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.

Los mensajes dentro de la aplicación slideup se llaman así porque “se deslizan hacia arriba” o “se deslizan hacia abajo” desde la parte superior o inferior de la pantalla. Cubren una pequeña parte de la pantalla y proporcionan una capacidad de mensajería eficaz y no intrusiva.

El objeto de mensaje dentro de la aplicación slideup extiende InAppMessageBase.

Un mensaje dentro de la aplicación que se desliza desde la parte inferior de la pantalla de un teléfono y que muestra "Los humanos somos complicados. La participación personalizada no debería serlo". En segundo plano aparece el mismo mensaje dentro de la aplicación en la esquina inferior derecha de una página web.

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.

Un mensaje dentro de la aplicación a pantalla completa que se muestra en toda la pantalla del teléfono y dice "Los humanos somos complicados. La participación personalizada no debería serlo". En segundo plano aparece el mismo mensaje dentro de la aplicación, mostrado en gran tamaño en el centro de una página web.

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.

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.

Un mensaje HTML dentro de la aplicación con un carrusel de contenido y botones interactivos.

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 Slideup reciben este nombre porque se “deslizan hacia arriba” o “hacia abajo” desde la parte superior o inferior de la pantalla. Cubren una pequeña parte de la pantalla y proporcionan una capacidad de mensajería eficaz y no intrusiva.

Un mensaje de deslizamiento hacia arriba dentro de la aplicación en la parte inferior y superior de la pantalla del teléfono.

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.

Un mensaje modal de imagen dentro de la aplicación en el centro de la pantalla del teléfono.

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.

Un mensaje dentro de la aplicación a pantalla completa que se muestra en toda la pantalla del teléfono.

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.

Un mensaje dentro de la aplicación con una imagen a pantalla completa que se muestra en toda la pantalla del teléfono.

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:

Un mensaje HTML dentro de la aplicación con un carrusel de contenido y botones interactivos.

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:

New Stuff!