Skip to content


Entrega de mensajes dentro de la aplicación

Tipos de desencadenadores

Nuestro producto de In-App Messages te permite desencadenar la visualización de mensajes dentro de la aplicación como resultado de varios tipos de eventos diferentes: Any Purchase, Specific Purchase, Session Start, Custom Event y Push Click. Además, los desencadenadores Specific Purchase y Custom Event contienen filtros de propiedades robustos.

Semántica de entrega

Todos los mensajes dentro de la aplicación para los que un usuario es elegible se entregan al dispositivo del usuario al inicio de la sesión. En el caso de que un evento desencadene dos mensajes dentro de la aplicación, se mostrará el mensaje dentro de la aplicación con mayor prioridad. Para más información sobre la semántica de inicio de sesión del SDK, consulta nuestro ciclo de vida de la sesión. Tras la entrega, el SDK precargará los activos para que estén disponibles de inmediato en el momento del desencadenamiento, minimizando la latencia de visualización.

Cuando un evento desencadenante tiene más de un mensaje dentro de la aplicación elegible asociado, solo se entregará el mensaje dentro de la aplicación con la prioridad más alta.

Puede haber cierta latencia en los mensajes dentro de la aplicación que se muestran inmediatamente tras la entrega (inicio de sesión, clic en push) debido a que los activos no se han precargado.

Intervalo de tiempo mínimo entre desencadenadores

De forma predeterminada, limitamos la tasa de los mensajes dentro de la aplicación a una vez cada 30 segundos para facilitar una experiencia de usuario de calidad.

Puedes anular este valor a través de ABKMinimumTriggerTimeIntervalKey dentro del parámetro appboyOptions que se pasa a startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions:. Establece ABKMinimumTriggerTimeIntervalKey en el valor entero que desees como tiempo mínimo en segundos entre mensajes dentro de la aplicación:

1
2
3
4
5
// Sets the minimum trigger time interval to 5 seconds
[Appboy startWithApiKey:@"YOUR-API-KEY"
          inApplication:application
      withLaunchOptions:options
      withAppboyOptions:@{ ABKMinimumTriggerTimeIntervalKey : @(5) }];
1
Appboy.start(withApiKey: "YOUR-API-KEY", in:application, withLaunchOptions:launchOptions, withAppboyOptions:[ABKMinimumTriggerTimeIntervalKey : 5])

Cuando no se encuentra un desencadenante coincidente

Cuando Braze no encuentra un desencadenante coincidente para un evento en particular, llamará al método noMatchingTriggerForEvent:name: del ABKInAppMessageControllerDelegate. Implementa este método en tu clase que adopte el protocolo de delegado para manejar este escenario.

Entrega local de mensajes dentro de la aplicación

La pila de mensajes dentro de la aplicación

Mostrar mensajes dentro de la aplicación

Cuando un usuario es elegible para recibir un mensaje dentro de la aplicación, se ofrecerá al ABKInAppMessageController el mensaje dentro de la aplicación más reciente de la pila de mensajes dentro de la aplicación. La pila solo conserva los mensajes dentro de la aplicación almacenados en memoria y se vacía entre los lanzamientos de la aplicación desde el modo suspendido.

Añadir mensajes dentro de la aplicación a la pila

Los usuarios son elegibles para recibir un mensaje dentro de la aplicación en las siguientes situaciones:

  • Se dispara un evento desencadenante de mensaje dentro de la aplicación
  • Evento de inicio de sesión
  • La aplicación se abre desde una notificación push

Los mensajes dentro de la aplicación desencadenados se colocan en la pila cuando se dispara su evento desencadenante. Si hay varios mensajes dentro de la aplicación en la pila esperando a ser mostrados, Braze mostrará primero el mensaje dentro de la aplicación recibido más recientemente (último en entrar, primero en salir).

Devolver mensajes dentro de la aplicación a la pila

Un mensaje dentro de la aplicación desencadenado puede devolverse a la pila en las siguientes situaciones:

  • El mensaje dentro de la aplicación se desencadena cuando la aplicación está en segundo plano.
  • Otro mensaje dentro de la aplicación está visible en ese momento.
  • El método de delegado de UI obsoleto beforeInAppMessageDisplayed:withKeyboardIsUp: no se ha implementado y el teclado se está mostrando actualmente.
  • El método de delegado beforeInAppMessageDisplayed: o el método de delegado de UI obsoleto beforeInAppMessageDisplayed:withKeyboardIsUp: devolvió ABKDisplayInAppMessageLater.

Descartar mensajes dentro de la aplicación

Un mensaje dentro de la aplicación desencadenado se descartará en las siguientes situaciones:

  • El método de delegado beforeInAppMessageDisplayed: o el método de delegado de UI obsoleto beforeInAppMessageDisplayed:withKeyboardIsUp: devolvió ABKDiscardInAppMessage.
  • El activo (imagen o archivo ZIP) del mensaje dentro de la aplicación no se pudo descargar.
  • El mensaje dentro de la aplicación está listo para mostrarse, pero ha superado la duración del tiempo de espera.
  • La orientación del dispositivo no coincide con la orientación del mensaje dentro de la aplicación desencadenado.
  • El mensaje dentro de la aplicación es un mensaje dentro de la aplicación a pantalla completa pero no tiene imagen.
  • El mensaje dentro de la aplicación es un mensaje modal dentro de la aplicación de solo imagen pero no tiene imagen.

Poner manualmente en cola la visualización de mensajes dentro de la aplicación

Si deseas mostrar un mensaje dentro de la aplicación en otros momentos dentro de tu aplicación, puedes mostrar manualmente el mensaje dentro de la aplicación en la parte superior de la pila llamando al siguiente método:

1
[[Appboy sharedInstance].inAppMessageController displayNextInAppMessage];
1
Appboy.sharedInstance()!.inAppMessageController.displayNextInAppMessage()

Creación y visualización de mensajes dentro de la aplicación en tiempo real

Los mensajes dentro de la aplicación también se pueden crear localmente dentro de la aplicación y mostrarse a través de Braze. Esto es particularmente útil para mostrar mensajes que deseas desencadenar dentro de la aplicación en tiempo real. Braze no admite análisis de mensajes dentro de la aplicación creados localmente.

1
2
3
4
5
  ABKInAppMessageSlideup *customInAppMessage = [[ABKInAppMessageSlideup alloc] init];
  customInAppMessage.message = @"YOUR_CUSTOM_SLIDEUP_MESSAGE";
  customInAppMessage.duration = 2.5;
  customInAppMessage.extras = @{@"key" : @"value"};
  [[Appboy sharedInstance].inAppMessageController addInAppMessage:customInAppMessage];
1
2
3
4
5
  let customInAppMessage = ABKInAppMessageSlideup.init()
  customInAppMessage.message = "YOUR_CUSTOM_SLIDEUP_MESSAGE"
  customInAppMessage.duration = 2.5
  customInAppMessage.extras = ["key": "value"]
  Appboy.sharedInstance()!.inAppMessageController.add(customInAppMessage)
New Stuff!