Skip to content

Mensajes dentro de la aplicación

Más 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 de Android Braze. You’ll also need to enable in-app messages.

Message types

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, esquemas de color y mucho más.

Su comportamiento y rasgos básicos están definidos por la interfaz IInAppMessage en una subclase llamada InAppMessageBase. IInAppMessage también incluye una subinterfaz, IInAppMessageImmersiveque te permite añadir a tu aplicación botones de cierre, clic-acción y análisis.

slideup Los mensajes dentro de la aplicación 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 interacción personalizada no debería serlo". En el fondo se muestra el mismo mensaje dentro de la aplicación en la esquina inferior derecha de una página Web.

full Los mensajes dentro de la aplicación 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 de acción de clic y habilitación de análisis.

Este tipo de mensaje amplía InAppMessageImmersiveBaseofreciéndote la posibilidad de añadir funciones personalizadas a tus mensajes dentro de la aplicación generados localmente.

Un mensaje dentro de la aplicación a pantalla completa que se muestra en toda la pantalla del teléfono y que dice: "Los humanos somos complicados. La interacción personalizada no debería serlo". En el fondo se muestra el mismo mensaje dentro de la aplicación en gran parte en el centro de una página web.

HTML Los mensajes dentro de la aplicación 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 WebView 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.

Estos mensajes son instancias de InAppMessageHtmlque implementan la subclase IInAppMessage: IInAppMessageHtml.

Los mensajes dentro de la aplicación Android admiten una interfaz JavaScript brazeBridge para llamar a métodos del SDK Braze Web desde dentro de tu HTML, consulta nuestras mejores prácticas para más detalles.

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

Enabling in-app messages

Step 1: Register BrazeInAppMessageManager

In-app message display is managed by the BrazeInAppMessageManager class. Every activity in your app must be registered with the BrazeInAppMessageManager to allow it to add in-app message views to the view hierarchy. There are two ways to accomplish this:

The activity lifecycle callback integration handles in-app message registration automatically; no extra integration is required. This is the recommended method for handling in-app message registration.

In your Application.onCreate(), call ensureSubscribedToInAppMessageEvents():

1
BrazeInAppMessageManager.getInstance().ensureSubscribedToInAppMessageEvents(context);
1
BrazeInAppMessageManager.getInstance().ensureSubscribedToInAppMessageEvents(context)

In every activity where in-app messages can be shown, call registerInAppMessageManager() in that activity’s onResume():

1
2
3
4
5
6
7
@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);
}
1
2
3
4
5
6
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)
}

In every activity where registerInAppMessageManager() was called, call unregisterInAppMessageManager() in that activity’s onPause():

1
2
3
4
5
6
@Override
public void onPause() {
  super.onPause();
  // Unregisters the BrazeInAppMessageManager for the current Activity.
  BrazeInAppMessageManager.getInstance().unregisterInAppMessageManager(activity);
}
1
2
3
4
5
public override fun onPause() {
  super.onPause()
  // Unregisters the BrazeInAppMessageManager.
  BrazeInAppMessageManager.getInstance().unregisterInAppMessageManager(this)
}

Step 2: Update the manager’s blocklist (optional)

In your integration, you may require that certain activities in your app should not show in-app messages. The activity lifecycle callback integration provides an easy way to accomplish this.

The following sample code adds two activities to the in-app message registration blocklist, SplashActivity and SettingsActivity:

1
2
3
4
5
6
7
8
9
10
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));
  }
}
1
2
3
4
5
6
7
8
9
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))
  }
}

guide/swift/in_app_messages.md developer_ %}

guide/web/in_app_messages.md developer_ %}

guide/android_ott/in_app_messages.md developer_ %}

guide/cordova/in_app_messages.md developer_ %}

guide/flutter/in_app_messages.md developer_ %}

guide/react_native/in_app_messages.md developer_ %}

guide/roku/in_app_messages.md developer_ %}

guide/tvos/in_app_messages.md developer_ %}

guide/unity/in_app_messages.md developer_ %}

guide/xamarin/in_app_messages.md developer_ %}

¿QUÉ TAN ÚTIL FUE ESTA PÁGINA?
New Stuff!