Skip to content


Entrega de mensajes dentro de la aplicación

Tipos de desencadenantes

Nuestro producto de mensajes dentro de la aplicación 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 desencadenantes Specific Purchase y Custom Event contienen filtros de propiedades sólidos.

Semántica de la 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. Si un evento desencadena dos mensajes dentro de la aplicación, se mostrará el mensaje con mayor prioridad. Para más información sobre la semántica de inicio de sesión del SDK, lee sobre nuestro ciclo de vida de la sesión. Tras la entrega, el SDK precargará los activos para que estén disponibles inmediatamente en el momento del desencadenamiento, minimizando la latencia de visualización.

Cuando un evento desencadenante tiene asociado más de un mensaje dentro de la aplicación elegible, sólo 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 después de la entrega (inicio de sesión, clic push) debido a que los activos no se han precargado.

Intervalo de tiempo mínimo entre desencadenamientos

De forma predeterminada, limitamos la tasa de 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 pasado a startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions:. Establece en ABKMinimumTriggerTimeIntervalKey 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])

No se encuentra un desencadenante adecuado

Cuando Braze no encuentre un desencadenante que coincida con un evento determinado, llamará al método noMatchingTriggerForEvent:name: del método ABKInAppMessageControllerDelegate. Implementa este método en tu clase adoptando 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 sea elegible para recibir un mensaje dentro de la aplicación, se ofrecerá a ABKInAppMessageController el último mensaje dentro de la aplicación de la pila de mensajes dentro de la aplicación. La pila solo conserva los mensajes dentro de la aplicación almacenados en la memoria y se borra 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 desencadenador de mensajes dentro de la aplicación
  • Evento de inicio de sesión
  • La aplicación se abre desde una notificación push

Los mensajes desencadenados dentro de la aplicación se colocan en la pila cuando se dispara su evento desencadenante. Si hay varios mensajes dentro de la aplicación en la pila y 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 volver al stack en las siguientes situaciones:

  • El mensaje dentro de la aplicación se desencadena cuando la aplicación está en segundo plano.
  • Actualmente hay visible otro mensaje dentro de la aplicación.
  • No se ha implementado el método delegado de interfaz de usuario beforeInAppMessageDisplayed:withKeyboardIsUp: obsoleto, y se está mostrando el teclado.
  • El método delegado beforeInAppMessageDisplayed: o el método delegado de interfaz de usuario obsoleto beforeInAppMessageDisplayed:withKeyboardIsUp: devuelven 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 delegado beforeInAppMessageDisplayed: o el método delegado de interfaz de usuario obsoleto beforeInAppMessageDisplayed:withKeyboardIsUp: devuelven ABKDiscardInAppMessage.
  • No se ha podido descargar el activo (imagen o archivo ZIP) del mensaje dentro de la aplicación.
  • El mensaje dentro de la aplicación está listo para mostrarse, pero ya ha pasado el 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 completo dentro de la aplicación, pero no tiene imagen.
  • El mensaje dentro de la aplicación es un mensaje modal dentro de la aplicación sólo con imagen, pero no tiene imagen.

Cola manualmente la visualización de mensajes dentro de la aplicación

Si quieres mostrar un mensaje dentro de la aplicación en otro momento, puedes mostrar manualmente el mensaje más alto de la pila llamando al método siguiente:

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 pueden crearse localmente dentro de la aplicación y mostrarse a través de Braze. Esto es especialmente ú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)
¿QUÉ TAN ÚTIL FUE ESTA PÁGINA?
New Stuff!