
AppboyKit (también conocido como SDK Objective-C) ya no recibe soporte y ha sido sustituido por Swift SDK. Ya no recibirá nuevas características, correcciones de errores, actualizaciones de seguridad ni soporte técnico; sin embargo, la mensajería y los análisis seguirán funcionando con normalidad. Para obtener más información, consulta Presentación del nuevo SDK Swift de Braze.
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.

Los mensajes dentro de la aplicación desencadenados solo funcionan con eventos personalizados registrados a través de Braze SDK. Los mensajes dentro de la aplicación no se pueden desencadenar a través de la API ni mediante eventos de la API (como los eventos de compra). Si estás trabajando con iOS, visita nuestro artículo sobre seguimiento de eventos personalizados para obtener más información.
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.

No muestres mensajes dentro de la aplicación cuando el teclado esté visible en pantalla, ya que el renderizado no está definido en esta circunstancia.
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 obsoletobeforeInAppMessageDisplayed: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 obsoletobeforeInAppMessageDisplayed: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)