Lectura de registros detallados
En esta página se explica cómo interpretar la salida de registros detallados del SDK de Braze. Para cada canal de mensajería, encontrarás las entradas clave del registro que debes buscar, su significado y los problemas comunes a los que debes prestar atención.
Antes de empezar, asegúrate de haber habilitado el registro detallado y de saber cómo recopilar registros en tu plataforma.
Sesiones
Las sesiones son la base de los análisis y la entrega de mensajes de Braze. Muchas características de mensajería, incluidos los mensajes dentro de la aplicación y las Content Cards, dependen de que se inicie una sesión válida antes de que puedan funcionar. Si las sesiones no se registran correctamente, investiga esto primero. Para obtener más información sobre cómo habilitar el seguimiento de sesiones, consulta Paso 5: Habilita el seguimiento de sesiones de usuario.
Entradas clave del registro
Inicio de la sesión:
1
Started user session (id: <SESSION_ID>)
Fin de la sesión:
1
2
3
4
5
Ended user session (id: <SESSION_ID>, duration: <DURATION>s)
Logged event:
- userId: <USER_ID>
- sessionId: <SESSION_ID>
- data: sessionEnd(duration: <DURATION>)
Inicio de la sesión:
Busca las siguientes entradas:
1
2
3
4
New session created with ID: <SESSION_ID>
Session start event for new session received
Completed the openSession call
Opened session with activity: <ACTIVITY_NAME>
Filtra las solicitudes de red para tu punto de conexión Braze configurado (por ejemplo, sdk.iad-01.braze.com) para ver el evento de inicio de sesión (ss).
Fin de la sesión:
1
2
3
Closed session with activity: <ACTIVITY_NAME>
Closed session with session ID: <SESSION_ID>
Requesting data flush on internal session close flush timer.
Qué hay que comprobar
- Comprueba que aparece un registro de inicio de sesión cuando se inicia la aplicación.
- Si no ves que se inicia una sesión, comprueba que el SDK esté correctamente inicializado y que se esté llamando a
openSession(Android). - En Android, confirma que se está realizando una solicitud de red al punto de conexión de Braze. Si no ves esto, verifica tu clave de API y la configuración del punto de conexión.
Notificaciones push
Los registros de notificaciones push te ayudan a verificar que los tokens de los dispositivos estén registrados, que las notificaciones se entreguen correctamente y que se realice el seguimiento de los eventos de clic.
Registro de tokens
Cuando se inicia una sesión, el SDK registra el token de notificaciones push del dispositivo en Braze.
1
2
3
4
Updated push notification authorization:
- authorization: authorized
Received remote notifications device token: <PUSH_TOKEN>
Filtra las solicitudes a tu punto de conexión Braze configurado (por ejemplo, sdk.iad-01.braze.com) y busca push_token en los atributos del cuerpo de la solicitud:
1
2
3
4
5
6
"attributes": [
{
"push_token": "<PUSH_TOKEN>",
"user_id": "<USER_ID>"
}
]
Confirma también que la información del dispositivo incluye:
1
2
3
4
"device": {
"ios_push_auth": "authorized",
"remote_notification_enabled": 1
}
Busca el registro de inscripción en FCM:
1
Registering for Firebase Cloud Messaging token using sender id: <SENDER_ID>
Verifica lo siguiente:
com_braze_firebase_cloud_messaging_registration_enabledestrue.- El ID del remitente FCM coincide con tu proyecto Firebase.
Un error común es SENDER_ID_MISMATCH, lo que significa que el ID de remitente configurado no coincide con tu proyecto de Firebase.
Qué hay que comprobar
- Si
push_tokenno aparece en el cuerpo de la solicitud, significa que no se ha capturado el token. Verifica la configuración de push en la configuración de tu aplicación. - Si
ios_push_authmuestradeniedoprovisional, el usuario no ha concedido permiso push completo. - En Android, si ves
SENDER_ID_MISMATCH, actualiza tu ID de remitente FCM para que coincida con tu proyecto Firebase.
Entrega push y clic
Cuando se pulsa una notificación push, el SDK registra los eventos de procesamiento y clic.
1
2
3
4
5
6
7
8
9
10
11
12
13
Processing push notification:
- date: <TIMESTAMP>
- silent: false
- userInfo: {
"ab": { ... },
"ab_uri": "<DEEP_LINK_OR_URL>",
"aps": {
"alert": {
"body": "<MESSAGE_BODY>",
"title": "<MESSAGE_TITLE>"
}
}
}
Seguido del evento de clic:
1
2
3
4
Logged event:
- userId: <USER_ID>
- sessionId: <SESSION_ID>
- data: pushClick(campaignId: ...)
Si la push contiene un vínculo profundo, también verás:
1
2
3
4
Opening '<URL>':
- channel: notification
- useWebView: false
- isUniversalLink: false
1
BrazeFirebaseMessagingService: Got Remote Message from FCM
A continuación, se muestran los registros de carga útil y visualización. Para vínculos profundos, busca las entradas Deep Link Delegate o UriAction.
Qué hay que comprobar
- Verifica que la carga útil del push contenga los valores esperados de
title,bodyy cualquier vínculo profundo (ab_uri). - Confirma que se registra un evento
pushClickdespués de tocar. - Si falta el evento de clic, comprueba que el delegado de tu aplicación o el controlador de notificaciones estén reenviando correctamente los eventos push al SDK de Braze.
Mensajes dentro de la aplicación
Los registros de mensajes dentro de la aplicación muestran el ciclo de vida completo: entrega desde el servidor, desencadenamiento basado en eventos, visualización, registro de impresiones y seguimiento de clics.
Entrega de mensajes
Cuando un usuario inicia una sesión y es elegible para recibir un mensaje dentro de la aplicación, el SDK recibe la carga útil del mensaje desde el servidor.
Filtra las respuestas de tu punto de conexión Braze configurado (por ejemplo, sdk.iad-01.braze.com) que contengan los datos de los mensajes dentro de la aplicación.
El cuerpo de la respuesta contiene la carga útil del mensaje, que incluye:
1
2
3
4
5
6
7
8
9
"templated_message": {
"data": {
"message": "...",
"type": "HTML",
"message_close": "SWIPE",
"trigger_id": "<TRIGGER_ID>"
},
"type": "inapp"
}
Busca el registro que coincide con el evento desencadenante:
1
Triggering action: <CAMPAIGN_BSON_ID>
Esto confirma que el mensaje dentro de la aplicación se correspondía con un evento desencadenante.
Visualización e impresión de mensajes
1
2
3
In-app message ready for display:
- triggerId: (campaignId: <CAMPAIGN_ID>, ...)
- extras: { ... }
A continuación, el registro de impresiones:
1
2
3
4
Logged event:
- userId: <USER_ID>
- sessionId: <SESSION_ID>
- data: inAppMessageImpression(triggerIds: [...])
1
handleExistingInAppMessagesInStackWithDelegate:: Displaying in-app message
Eventos de clic y botón
Cuando un usuario pulsa un botón o cierra el mensaje:
1
2
3
4
Logged event:
- userId: <USER_ID>
- sessionId: <SESSION_ID>
- data: inAppMessageButtonClick(triggerIds: [...], buttonId: "<BUTTON_ID>")
Si no hay más mensajes desencadenados que coincidan, también verás:
1
No matching trigger for event.
Este es el comportamiento esperado cuando no se configuran mensajes adicionales dentro de la aplicación para el evento.
Filtra las solicitudes a tu punto de conexión Braze configurado (por ejemplo, sdk.iad-01.braze.com) y busca eventos con el nombre sbc (clic en el botón) o si (impresión) en el cuerpo de la solicitud.
Qué hay que comprobar
- Si no se muestra el mensaje dentro de la aplicación, comprueba primero que se haya registrado el inicio de la sesión.
- Filtra las respuestas de tu punto de conexión Braze configurado para confirmar que se ha entregado la carga útil del mensaje.
- Si las impresiones no se registran, comprueba que no hayas implementado un delegado
inAppMessageDisplaypersonalizado que suprima el registro. - Si aparece “No matching trigger for event”, es normal e indica que no hay ningún mensaje adicional dentro de la aplicación configurado para ese evento.
Content Cards
Los registros de Content Cards te ayudan a verificar que las tarjetas se sincronizan con el dispositivo, se muestran al usuario y que se realiza el seguimiento de las interacciones (impresiones, clics, rechazos).
Sincronización de tarjetas
Las Content Cards se sincronizan al inicio de la sesión y cuando se solicita una actualización manual. Si no hay ninguna sesión registrada, no se muestran Content Cards.
Filtra las respuestas de tu punto de conexión Braze configurado (por ejemplo, sdk.iad-01.braze.com) que contengan los datos de la tarjeta.
El cuerpo de la respuesta contiene los datos de la tarjeta, incluyendo:
1
2
3
4
5
6
7
8
9
10
11
"cards": [
{
"id": "<CARD_ID>",
"tt": "<CARD_TITLE>",
"ds": "<CARD_DESCRIPTION>",
"tp": "short_news",
"v": 0,
"cl": 0,
"p": 1
}
]
Campos clave:
v(visto):0= no visto,1= vistocl(clic):0= sin clic,1= clicp(fijado):0= no fijado,1= fijadotp(tipo):short_news,captioned_image,classic, etc.
1
Requesting content cards sync.
A continuación, se envía una solicitud POST al punto de conexión de Braze que hayas configurado (por ejemplo, sdk.iad-01.braze.com) con información sobre el usuario y el dispositivo.
Impresiones, clics y rechazos
Impresión:
1
2
3
4
Logged event:
- userId: <USER_ID>
- sessionId: <SESSION_ID>
- data: contentCardImpression(cardIds: [...])
Clic:
1
2
3
4
Logged event:
- userId: <USER_ID>
- sessionId: <SESSION_ID>
- data: contentCardClick(cardIds: [...])
Si la tarjeta tiene una URL, también verás:
1
2
3
Opening '<URL>':
- channel: contentCard
- useWebView: true
Rechazo:
1
2
3
4
Logged event:
- userId: <USER_ID>
- sessionId: <SESSION_ID>
- data: contentCardDismissed(cardIds: [...])
Filtra las solicitudes a tu punto de conexión Braze configurado (por ejemplo, sdk.iad-01.braze.com) y busca los nombres de los eventos en el cuerpo de la solicitud:
cci— Impresión de Content Cardccc— Clic en Content Cardccd— Content Card descartada
Qué hay que comprobar
- No se muestran tarjetas: Verifica que se haya registrado el inicio de la sesión. Las Content Cards requieren una sesión activa para sincronizarse.
- Faltan tarjetas para los nuevos usuarios: Es posible que los nuevos usuarios no vean las Content Cards en su primera sesión hasta la siguiente sesión. Este es el comportamiento esperado.
- La tarjeta supera el límite de tamaño: Las Content Cards de más de 2 KB no se muestran y el mensaje se cancela.
- La tarjeta persiste después de detener la campaña: Comprueba que la sincronización se haya completado después de detener la campaña. Las Content Cards se eliminan del dispositivo después de una sincronización correcta. Al detener una campaña, asegúrate de que la opción para eliminar las tarjetas activas de las fuentes de los usuarios esté seleccionada.
Vínculos profundos
Los registros de vínculos profundos aparecen en las notificaciones push, los mensajes dentro de la aplicación y las Content Cards. La estructura del registro es coherente independientemente del canal de origen.
Cuando el SDK procesa un vínculo profundo:
1
2
3
4
5
Opening '<DEEP_LINK_URL>':
- channel: <SOURCE_CHANNEL>
- useWebView: false
- isUniversalLink: false
- extras: { ... }
Donde <SOURCE_CHANNEL> es uno de los siguientes: notification, inAppMessage o contentCard.
Para los vínculos profundos, busca las entradas Deep Link Delegate o UriAction en Logcat. Para probar la resolución de vínculos profundos de forma independiente, ejecuta el siguiente comando:
1
adb shell am start -W -a android.intent.action.VIEW -d "<YOUR_DEEP_LINK>" "<YOUR_PACKAGE_NAME>"
Esto confirma si el vínculo profundo se resuelve correctamente fuera del SDK de Braze.
Qué hay que comprobar
- Comprueba que la URL del vínculo profundo coincide con la que configuraste en la campaña.
- Si el vínculo profundo funciona desde un canal (por ejemplo, push), pero no desde otro (por ejemplo, Content Cards), comprueba que la implementación del manejo de vínculos profundos sea compatible con todos los canales.
- En iOS, los enlaces universales requieren un manejo adicional. Si los enlaces universales no funcionan desde los canales de Braze, comprueba que tu aplicación implemente el protocolo
BrazeDelegatepara el manejo de URL. - En Android, comprueba que la gestión automática de vínculos profundos esté desactivada si utilizas un controlador personalizado. De lo contrario, el controlador predeterminado podría entrar en conflicto con tu implementación.
Identificación del usuario
Cuando se asigna un external_id a un usuario, el SDK registra un evento de cambio de usuario.
1
changeUser called with: <EXTERNAL_ID>
Aspectos clave que debes saber:
- Llama a
changeUsertan pronto como el usuario inicie sesión; cuanto antes, mejor. - Si un usuario cierra sesión, no hay forma de llamar a
changeUserpara revertirlo a un usuario anónimo. - Si no deseas usuarios anónimos, llama a
changeUserdurante el inicio de la sesión o el inicio de la aplicación.
Filtra las solicitudes a tu punto de conexión Braze configurado (por ejemplo, sdk.iad-01.braze.com) y busca la identificación del usuario en el cuerpo de la solicitud:
1
"user_id": "<EXTERNAL_ID>"
Solicitudes de red
Los registros detallados incluyen todos los detalles de las solicitudes y respuestas HTTP para la comunicación del SDK con los servidores de Braze. Son útiles para diagnosticar problemas de conectividad.
Estructura de la solicitud
Filtra las solicitudes a tu punto de conexión Braze configurado (por ejemplo, sdk.iad-01.braze.com). La estructura de la solicitud incluye:
1
2
3
4
5
6
7
[http] request POST: <YOUR_BRAZE_ENDPOINT>
- Headers:
- Content-Type: application/json
- X-Braze-Api-Key: <REDACTED>
- X-Braze-Req-Attempt: 1
- X-Braze-Req-Tokens-Remaining: <COUNT>
- Body: { ... }
1
Making request(id = <REQUEST_ID>) to <YOUR_BRAZE_ENDPOINT>
Qué hay que comprobar
- Clave de API: Verifica que
X-Braze-Api-Keycoincida con la clave de API de tu espacio de trabajo. - Punto de conexión: Confirma que la URL de la solicitud coincide con el punto de conexión del SDK que has configurado.
- Intentos de reintento: Un valor de
X-Braze-Req-Attemptsuperior a 1 indica que el SDK está reintentando una solicitud fallida, lo que puede indicar problemas de conectividad. - Límite de velocidad:
X-Braze-Req-Tokens-Remainingmuestra los tokens de solicitud restantes. Un recuento bajo puede indicar que el SDK se está acercando a los límites de velocidad. - Solicitudes pendientes: En Android, si no ves una solicitud al punto de conexión de Braze después del inicio de la sesión, verifica tu clave de API y la configuración del punto de conexión.
Abreviaturas comunes de eventos
En las cargas útiles de registros detallados, Braze utiliza nombres de eventos abreviados. Aquí tienes una referencia:
| Abreviatura | Evento |
|---|---|
ss |
Inicio de la sesión |
se |
Fin de la sesión |
si |
Impresión de mensaje dentro de la aplicación |
sbc |
Clic en el botón de mensaje dentro de la aplicación |
cci |
Impresión de Content Card |
ccc |
Clic en Content Card |
ccd |
Descarte de Content Card |
lr |
Ubicación registrada |