Skip to content

Solución de problemas de las notificaciones push

Aprende a solucionar problemas de notificaciones push para el SDK de Braze.

Comprender el flujo de trabajo push de Braze

El servicio de mensajería en la nube de Firebase (FCM) es la infraestructura de Google para las notificaciones push enviadas a las aplicaciones de Android. Esta es la estructura simplificada de cómo se habilitan las notificaciones push para los dispositivos de tus usuarios y cómo Braze puede enviarles notificaciones push:

---
config:
  theme: mc
---
sequenceDiagram
  participant Device as User Device
  participant App as Android App
  participant BrazeSDK as Braze SDK
  participant BrazeAPI as Braze Server
  participant Firebase as Google Firebase
  Note over Device, Firebase: Register Option 1<br/>Register Automatically using `com_braze_firebase_cloud_messaging_registration_enabled` in braze.xml
  App ->> Braze: App intializes Braze with the first Braze call<br>This could be automatic session handling
  BrazeSDK ->> App: Get push token from Firebase Manager
  BrazeSDK ->> BrazeAPI: Send push token to Braze Server
  Note right of BrazeAPI: Braze will remove push token from any<br>other user who may have previously<br> been logged in on the same device.
  Note over Device, Firebase: Register Option 2<br/>Manual registration.
  App ->> BrazeSDK: App sets `Braze.registeredPushToken`
  BrazeSDK ->> BrazeAPI: Send push token to Braze Server
  Note right of BrazeAPI: Braze will remove push token from any<br>other user who may have previously<br> been logged in on the same device.  
  Note over Device, Firebase: Push permission
  BrazeAPI ->> BrazeSDK: In-App Message containing push prompt
  BrazeSDK -> App: In-App Message is displayed
  App -> BrazeSDK: User requests permissions
  BrazeSDK -> App: Displays the Push Authorization prompt
  BrazeSDK -> BrazeAPI: If authorized and `com_braze_optin_when_push_authorized`, Opt-In value is sent.
  Note over Device, Firebase: Push Notification Is Sent
  BrazeAPI ->> Firebase: Sends push message 
  Firebase ->> Device: Push message sent
  Device ->> App: Android will send the push to the App.<br>This could be blocked to Do Not Disturb, Power Saving Mode, etc.
  App ->> BrazeSDK: Message is sent to BrazeFirebaseMessagingService
  BrazeSDK ->> Device: SDK will check if the push is from Braze.<br>If so, push data is transformed into a Push Notfication and displayed.

Paso 1: Configurar tu clave de API de Google Cloud

Al desarrollar tu aplicación, tendrás que proporcionar al SDK de Android de Braze tu ID de remitente de Firebase. Además, tendrás que proporcionar al panel de Braze una clave de API para aplicaciones de servidor. Braze utilizará esta clave de API para enviar mensajes a tus dispositivos. También tendrás que comprobar que el servicio FCM está habilitado en la consola del desarrollador de Google.

Paso 2: Los dispositivos se registran en el FCM y proporcionan a Braze tokens de notificaciones push

En las integraciones típicas, el SDK para Android de Braze se encargará de registrar los dispositivos para la función FCM. Esto suele ocurrir inmediatamente después de abrir la aplicación por primera vez. Tras el registro, Braze recibirá un ID de registro de FCM, que se utiliza para enviar mensajes a ese dispositivo en concreto. Almacenaremos el ID de registro de ese usuario, y ese usuario se convertirá en “registrado push” si antes no tenía un token de notificaciones push para ninguna de tus aplicaciones.

Paso 3: Lanzamiento de una campaña push Braze

Cuando se lance una campaña push, Braze hará solicitudes a FCM para que entregue tu mensaje. Braze utilizará la clave de API copiada en el panel para autenticar y verificar que podemos enviar notificaciones push a los tokens de notificaciones push proporcionados.

Paso 4: Eliminar tokens no válidos

Si FCM nos informa de que alguno de los tokens de notificaciones push a los que intentábamos enviar un mensaje no es válido, eliminamos esos tokens de los perfiles de usuario a los que estaban asociados. Si los usuarios no tienen otros tokens de notificaciones push, ya no aparecerán como “Registrados push” en la página Segmentos.

Para más detalles sobre FCM, visita Mensajería en la nube.

Utilizar los registros de errores push

Braze proporciona errores de notificación push dentro del registro de actividad de mensajes. Este registro de errores proporciona una serie de advertencias que pueden ser muy útiles para identificar por qué tus campañas no funcionan como esperabas. Si haces clic en un mensaje de error, se te redirigirá a la documentación pertinente para ayudarte a solucionar una incidencia concreta.

Escenarios de solución de problemas

Push no está enviando

Puede que tus mensajes push no se envíen debido a las siguientes situaciones:

  • Tus credenciales existen en un ID de proyecto de Google Cloud Platform incorrecto (ID de remitente incorrecto).
  • Tus credenciales tienen un ámbito de permiso incorrecto.
  • Has cargado credenciales erróneas en el espacio de trabajo Braze equivocado (ID de remitente erróneo).

Para otros problemas que puedan impedirte enviar un mensaje push, consulta la Guía del usuario de : Solución de problemas de las notificaciones push.

No se muestran los usuarios “registrados push” en el panel de Braze (antes de enviar mensajes)

Confirma que tu aplicación está correctamente configurada para permitir notificaciones push. Los puntos de fallo habituales que hay que comprobar incluyen lo siguiente:

ID de remitente incorrecto

Comprueba que el ID de remitente del FCM correcto está incluido en el archivo braze.xml. Un ID de remitente incorrecto dará lugar a errores de MismatchSenderID en el registro de actividad de mensajes del panel.

No se produce el registro de Braze

Dado que el registro de FCM se gestiona fuera de Braze, el fallo en el registro sólo puede producirse en dos lugares:

  1. Durante el registro en la FCM
  2. Al pasar el token de notificaciones push generado por FCM a Braze

Recomendamos establecer un punto de interrupción o de registro para confirmar que el token de notificaciones push generado por FCM se envía a Braze. Si un token no se genera correctamente o no se genera en absoluto, te recomendamos que consultes la documentación de FCM.

Los servicios de Google Play no están presentes

Para que FCM push funcione, Google Play Services debe estar presente en el dispositivo. Si Google Play Services no está en un dispositivo, no se producirá el registro push.

Nota: Los servicios de Google Play no se instalan en emuladores de Android que no tengan instaladas las API de Google.

Dispositivo no conectado a Internet

Comprueba que tu dispositivo tiene una buena conexión a Internet y que no está enviando tráfico de red a través de un proxy.

Al tocar la notificación push no se abre la aplicación

Comprueba si com_braze_handle_push_deep_links_automatically está configurado como true o false. Para habilitar Braze para que abra automáticamente la aplicación y cualquier vínculo profundo al tocar una notificación push, configura com_braze_handle_push_deep_links_automatically en true en tu archivo braze.xml.

Si com_braze_handle_push_deep_links_automatically está predeterminado a false, tienes que utilizar una devolución de llamada Push Braze para escuchar y gestionar las intenciones push recibidas y abiertas.

Notificaciones push rebotadas

Si no se entrega una notificación push, asegúrate de que no ha rebotado consultando la consola para desarrolladores. A continuación se describen errores comunes que pueden registrarse en la consola para desarrolladores:

Error: MismatchSenderID

MismatchSenderID indica un fallo de autenticación. Confirma que tu ID de remitente de Firebase y tu clave de API de FCM son correctos.

Error: InvalidRegistration

InvalidRegistration puede deberse a un token de notificaciones push mal formado.

  1. Asegúrate de pasar un token de notificaciones push válido a Braze desde Firebase Cloud Messaging.

Error: NoRegistrado

  1. NotRegistered suele ocurrir cuando se elimina una aplicación de un dispositivo. Braze utiliza NotRegistered internamente para indicar que se ha desinstalado una aplicación de un dispositivo.

  2. NotRegistered También puede ocurrir cuando se producen varios registros y un segundo registro invalida el primer token.

Notificaciones push enviadas pero no mostradas en los dispositivos de los usuarios

Hay algunas razones por las que esto podría estar ocurriendo:

Se forzó la salida de la aplicación

Si fuerzas la salida de tu aplicación a través de la configuración del sistema, no se enviarán tus notificaciones push. Si vuelves a iniciar la aplicación, tu dispositivo volverá a estar habilitado para recibir notificaciones push.

BrazeFirebaseMessagingService no registrado

El servicio BrazeFirebaseMessagingService debe estar correctamente registrado en AndroidManifest.xml para que aparezcan las notificaciones push:

1
2
3
4
5
6
<service android:name="com.braze.push.BrazeFirebaseMessagingService"
  android:exported="false">
  <intent-filter>
    <action android:name="com.google.firebase.MESSAGING_EVENT" />
  </intent-filter>
</service>

El cortafuegos bloquea el push

Si estás probando el push a través de Wi-Fi, puede que tu cortafuegos esté bloqueando los puertos necesarios para que FCM reciba mensajes. Confirma que los puertos 5228, 5229 y 5230 están abiertos. Además, como el FCM no especifica sus IP, también debes permitir que tu cortafuegos acepte conexiones salientes a todas las direcciones IP contenidas en los bloques IP enumerados en el ASN de Google de 15169.

Fábrica de notificaciones personalizada que devuelve null

Si has implementado una fábrica de notificaciones personalizada, asegúrate de que no devuelve null. Esto hará que no se muestren las notificaciones.

Los usuarios “registrados por push” ya no están habilitados después de enviar mensajes

Hay varias razones por las que esto puede estar ocurriendo:

Se ha desinstalado la aplicación

Los usuarios han desinstalado la aplicación. Esto invalidará su token de notificaciones push de FCM.

Clave inválida del servidor de mensajería en la nube Firebase

La clave del servidor de mensajería en la nube de Firebase proporcionada en el panel de Braze no es válida. El ID de remitente proporcionado debe coincidir con el indicado en el archivo braze.xml de tu aplicación. La clave del servidor y el ID del remitente se encuentran aquí, en tu Consola Firebase:

La plataforma Firebase, en "Configuración" y luego en "Mensajería en la nube", mostrará tu ID de servidor y tu clave de servidor.

Los clics push no se registran

Braze registra automáticamente los clics push, por lo que esta situación debería ser relativamente rara.

Si no se registran los clics push, es posible que los datos de los clics push aún no se hayan enviado a nuestros servidores. Braze regula la frecuencia de sus descargas en función de la potencia de la conexión a la red. Con una buena conexión de red, los datos push-clic deberían llegar al servidor en menos de un minuto en la mayoría de los casos.

Verificar la configuración del vínculo profundo

Los vínculos en profundidad pueden probarse con el ADB. Te recomendamos que pruebes tu vínculo profundo con el siguiente comando:

adb shell am start -W -a android.intent.action.VIEW -d "THE_DEEP_LINK" THE_PACKAGE_NAME

Si el vínculo profundo no funciona, es posible que esté mal configurado. Un vínculo profundo mal configurado no funcionará cuando se envíe a través de notificaciones push de Braze.

Verificar la lógica de manipulación personalizada

Si el vínculo profundo funciona correctamente con ADB pero no funciona desde Braze push, comprueba si se ha implementado alguna gestión personalizada de apertura de push. Si es así, comprueba que el código de gestión personalizado gestiona correctamente el vínculo profundo entrante.

Desactivar el comportamiento del back stack

Si el vínculo profundo funciona correctamente con ADB pero no funciona desde Braze push, prueba a desactivar el back stack. Para ello, actualiza tu archivo braze.xml para incluir:

1
<bool name="com_braze_push_deep_link_back_stack_activity_enabled">false</bool>

Comprender el flujo de trabajo Braze/APNs

El servicio de notificaciones push de Apple (APN) es la infraestructura para enviar notificaciones push a las aplicaciones que se ejecutan en las plataformas de Apple. Esta es la estructura simplificada de cómo se habilitan las notificaciones push para los dispositivos de tus usuarios y cómo Braze puede enviarles notificaciones push:

  1. Configura el certificado push y el perfil de aprovisionamiento
  2. Los dispositivos se registran para APN y proporcionan a Braze tokens de notificaciones push
  3. Lanza una campaña push de Braze
  4. Braze elimina los tokens no válidos

Paso 1: Configurar el certificado push y el perfil de aprovisionamiento

Al desarrollar tu aplicación, tendrás que crear un certificado SSL para habilitar las notificaciones push. Este certificado se incluirá en el perfil de aprovisionamiento con el que se cree tu aplicación y también deberá cargarse en el panel de Braze. El certificado permite a Braze indicar a los APN que estamos autorizados a enviar notificaciones push en tu nombre.

Hay dos tipos de perfiles de aprovisionamiento y certificados: de desarrollo y de distribución. Recomendamos utilizar sólo perfiles de distribución y certificados para evitar confusiones. Si decides utilizar perfiles y certificados diferentes para el desarrollo y la distribución, asegúrate de que el certificado cargado en el panel coincide con el perfil de aprovisionamiento que utilizas actualmente.

Paso 2: Los dispositivos se registran para APN y proporcionan a Braze tokens de notificaciones push

Cuando los usuarios abran tu aplicación, se les pedirá que acepten notificaciones push. Si aceptan esta indicación, los APN generarán un token de notificaciones push para ese dispositivo concreto. El SDK de Swift enviará de forma inmediata y asíncrona el token de notificaciones push para las aplicaciones que utilicen la política predeterminada de descarga automática. Una vez que tengamos un token de notificaciones push asociado a un usuario, aparecerá como “Registrado push” en el panel de su perfil de usuario, en la pestaña de interacción, y será elegible para recibir notificaciones push de las campañas Braze.

Consideraciones para la generación de tokens de notificaciones push

  • Si los usuarios instalan tu aplicación en otro dispositivo, se creará otro token y se capturará del mismo modo.
  • Si los usuarios reinstalan tu aplicación, se generará un nuevo token y se pasará a Braze. Sin embargo, APN y Braze pueden seguir registrando como válido el token original.
  • Si los usuarios desinstalan tu aplicación, Braze no recibe una notificación inmediata de ello y el token seguirá apareciendo como válido hasta que sea retirado por APN.
  • En algún momento, los APN retirarán los tokens antiguos. Braze no tiene control ni visibilidad de esto.

Paso 3: Lanzamiento de una campaña push Braze

Cuando se lance una campaña push, Braze hará peticiones a los APN para que entreguen tu mensaje. En concreto, las solicitudes se pasan a APN para cada token de notificaciones push válido actual, a menos que se seleccione Enviar al dispositivo más reciente del usuario. Después de que Braze reciba una respuesta satisfactoria de los APN, registraremos una entrega satisfactoria en el perfil de usuario, aunque es posible que el usuario no haya recibido el mensaje real por motivos como:

  • Su dispositivo está apagado.
  • Su dispositivo no está conectado a Internet (Wi-Fi o móvil).
  • Hace poco desinstalaron la aplicación.

Braze utilizará el certificado SSL push cargado en el panel para autenticar y verificar que se nos permite enviar notificaciones push a los tokens de notificaciones push proporcionados. Si un dispositivo está en línea, la notificación debería recibirse poco después de que se haya enviado la campaña. Ten en cuenta que Braze establece la fecha de caducidad predeterminada de los APN para las notificaciones en 30 días.

Paso 4: Eliminar tokens no válidos

Si APN nos informa de que alguno de los tokens de notificaciones push a los que intentábamos enviar un mensaje no es válido, eliminamos esos tokens de los perfiles de usuario a los que estaban asociados.

Utilizar los registros de errores push

El Registro de actividad de mensajes te da la oportunidad de ver todos los mensajes (especialmente los de error) asociados a tus campañas y envíos, incluidos los errores de notificación push. Este registro de errores proporciona una serie de advertencias que pueden ser muy útiles para identificar por qué tus campañas no funcionan como esperabas. Si haces clic en un mensaje de error, se te redirigirá a la documentación pertinente para ayudarte a solucionar una incidencia concreta.

Registros de errores push que muestran la hora en que se produjo el error, el nombre de la aplicación, el canal, el tipo de error y el mensaje de error.

Los errores comunes que puedes ver aquí incluyen notificaciones específicas del usuario, como “Recibido no registrado enviando a token de notificaciones push”.

Además, Braze también proporciona un registro de cambios push en el perfil de usuario, en la pestaña de interacción. Este registro de cambios proporciona información sobre el comportamiento del registro push, como la invalidación del token, los errores de registro push, los tokens que se mueven a nuevos usuarios, etc.

Errores del registro de actividad de mensajes

Se recibió envío no registrado a token de notificaciones push

  • Asegúrate de que el token de notificaciones push que se envía a Braze desde el método AppDelegate.braze?.notifications.register(deviceToken:) es válido. Puedes mirar en el Registro de actividad de mensajes para ver el token de notificaciones push. Debería parecerse a 6e407a9be8d07f0cdeb9e724733a89445f57a89ec890d63867c482a483506fa6, una cadena larga que contiene una mezcla de letras y números. Si tu token de notificaciones push tiene un aspecto diferente, comprueba tu código para enviar a Braze los tokens de notificaciones push.
  • Asegúrate de que tu perfil de aprovisionamiento push coincide con el entorno que estás probando. Los certificados universales pueden configurarse en el panel de Braze para enviarlos al entorno de APN de desarrollo o de producción. Utilizar un certificado de desarrollador para una aplicación de producción o un certificado de producción para una aplicación de desarrollo no funcionará.
  • Comprueba que el token de notificaciones push que has cargado en Braze coincide con el perfil de aprovisionamiento que utilizaste para crear la aplicación desde la que enviaste el token de notificaciones push.

Token de dispositivo no para el tema

Este error indica que el certificado push y el ID de paquete de tu aplicación no coinciden. Comprueba que el certificado push que subiste a Braze coincide con el perfil de aprovisionamiento utilizado para crear la aplicación desde la que se envió el token de notificaciones push.

BadDeviceToken enviando a token de notificaciones push

El BadDeviceToken es un código de error de APNs y no tiene su origen en Braze. Puede haber varias razones para que se devuelva esta respuesta, entre ellas las siguientes:

  • La aplicación recibió un token de notificaciones push que no era válido para las credenciales cargadas en el panel.
  • Se ha desactivado la función push en este espacio de trabajo.
  • El usuario ha optado por no recibir push.
  • La aplicación fue desinstalada.
  • Apple actualizó el token de notificaciones push, lo que invalidó el token antiguo.
  • La aplicación se creó para un entorno de producción, pero las credenciales push cargadas en Braze están configuradas para un entorno de desarrollo (o al revés).

Problemas de registro push

No hay aviso de registro push

Si la aplicación no te pide que te registres para recibir notificaciones push, es probable que haya un problema con tu integración de registro push. Asegúrate de que has seguido nuestra documentación e integrado correctamente nuestro registro push. También puedes establecer puntos de interrupción en tu código para asegurarte de que el código de registro push se está ejecutando.

No se muestran los usuarios “registrados push” en el panel (antes de enviar mensajes)

Asegúrate de que tu aplicación está correctamente configurada para permitir notificaciones push. Los puntos de fallo habituales que hay que comprobar incluyen lo siguiente:

  • Comprueba que tu aplicación te pide que permitas las notificaciones push. Normalmente, este mensaje aparecerá la primera vez que abras la aplicación, pero puedes programarlo para que aparezca en cualquier otro momento. Si no aparece donde debería, es probable que el problema esté en la configuración básica de las capacidades push de tu aplicación.
    • Comprueba que los pasos para la integración push se han completado correctamente.
    • Comprueba que el perfil de aprovisionamiento con el que se creó tu aplicación incluye permisos para push. Asegúrate de que obtienes todos los perfiles de aprovisionamiento disponibles de tu cuenta de desarrollador de Apple. Para confirmarlo, realiza los siguientes pasos:
      1. En Xcode, ve a Preferencias > Cuentas (o utiliza el atajo de teclado Comando+,).
      2. Selecciona el ID de Apple que utilizas para tu cuenta de desarrollador y haz clic en Ver detalles.
      3. En la página siguiente, haz clic en Actualizar y confirma que estás extrayendo todos los perfiles de aprovisionamiento disponibles.
  • Comprueba que has habilitado correctamente la función push en tu aplicación.
  • Comprueba que tu perfil de aprovisionamiento push coincide con el entorno en el que estás realizando las pruebas. Los certificados universales pueden configurarse en el panel de Braze para enviarlos al entorno de APN de desarrollo o de producción. Utilizar un certificado de desarrollador para una aplicación de producción o un certificado de producción para una aplicación de desarrollo no funcionará.
  • Comprueba que estás llamando a nuestro método registerPushToken estableciendo un punto de interrupción en tu código.
  • Asegúrate de que estás probando con un dispositivo (push no funcionará en un simulador) y de que tienes una buena conectividad de red.

Notificaciones push enviadas pero no mostradas en los dispositivos de los usuarios

Los usuarios “registrados por push” ya no están habilitados después de enviar mensajes

Esto probablemente indica que el usuario tenía un token de notificaciones push no válido. Esto puede ocurrir por varias razones:

Desajuste entre el panel y el certificado de la aplicación

Si el certificado push que has cargado en el panel no es el mismo que el del perfil de aprovisionamiento con el que se creó tu aplicación, las APN rechazarán el token. Comprueba que has cargado el certificado correcto y que has completado otra sesión en la aplicación antes de intentar otra notificación de prueba.

Se ha desinstalado la aplicación

Si un usuario ha desinstalado tu aplicación, su token de notificaciones push no será válido y se eliminará en el siguiente envío.

Regenerar tu perfil de aprovisionamiento

Como último recurso, empezar de cero y crear un perfil de aprovisionamiento completamente nuevo puede eliminar los errores de configuración que se producen al trabajar con varios entornos, perfiles y aplicaciones al mismo tiempo. Hay muchas “partes móviles” en la configuración de las notificaciones push, así que a veces es mejor volver a intentarlo desde el principio. Esto también te ayudará a aislar el problema si necesitas continuar con la solución de problemas.

Los mensajes no se entregan a los usuarios “registrados push”.

La aplicación está en primer plano

En las versiones de iOS que no integran push a través del framework UserNotifications, si la aplicación está en primer plano cuando se recibe el mensaje push, éste no se mostrará. Debes poner la aplicación en segundo plano en tus dispositivos de prueba antes de enviar mensajes de prueba.

Notificación de prueba programada incorrectamente

Comprueba la programación que has establecido para tu mensaje de prueba. Si está configurada como entrega según la zona horaria local o Intelligent Timing, es posible que aún no hayas recibido el mensaje (o que tuvieras la aplicación en primer plano cuando lo recibiste).

Usuario no “registrado para push” para la aplicación que se está probando

Comprueba el perfil de usuario del usuario al que intentas enviar un mensaje de prueba. En la pestaña “Interacción”, debería haber una lista de “aplicaciones pushables”. Comprueba que la aplicación a la que intentas enviar mensajes de prueba está en esta lista. Los usuarios aparecerán como “Registrados push” si tienen un token de notificaciones push para cualquier aplicación de tu espacio de trabajo, por lo que podría tratarse de un falso positivo.

Lo siguiente indicaría un problema con el registro push o que el token de notificaciones push del usuario ha sido devuelto a Braze como no válido por las APN después de haber sido enviado:

Un perfil de usuario que muestra la configuración de los contactos de un usuario. En Push, aparece "Sin aplicaciones".

Los clics push no se registran

  • Asegúrate de haber seguido los pasos de la integración push.
  • Braze no gestiona las notificaciones push recibidas silenciosamente en primer plano (comportamiento push predeterminado en primer plano antes del marco UserNotifications ). Esto significa que los enlaces no se abrirán y los clics push no se registrarán. Si tu aplicación aún no ha integrado el framework UserNotifications, Braze no gestionará las notificaciones push cuando el estado de la aplicación sea UIApplicationStateActive. Asegúrate de que tu aplicación no retrasa las llamadas a los métodos de gestión push; de lo contrario, el SDK de Swift puede tratar las notificaciones push como eventos push silenciosos en primer plano y no gestionarlos.

Los enlaces Web de los clics push no se abren

Los enlaces de las notificaciones push deben ser compatibles con ATS para poder abrirse en vistas web. Asegúrate de que tus enlaces Web utilizan HTTPS. Para más información, consulta el cumplimiento de la ATS.

Los vínculos profundos de los clics push no se abren

La mayor parte del código que gestiona los vínculos en profundidad también gestiona las aperturas push. Primero, asegúrate de que se registran las aperturas push. Si no es así, soluciona ese problema (ya que la solución suele arreglar la gestión de enlaces).

Si se registran aperturas, comprueba si se trata de un problema con el vínculo en profundidad en general o con la gestión de los clics push de vinculación en profundidad. Para ello, prueba a ver si funciona un vínculo profundo desde un clic de mensaje dentro de la aplicación.

Troubleshooting

If you’re experiencing issues after setting up push notifications, consider the following:

  • Web push notifications require that your site be HTTPS.
  • Not all browsers can receive push messages. Ensure that braze.isPushSupported() returns true in the browser.
  • If a user has denied a site push access, they won’t be prompted for permission again unless they remove the denied status from their browser preferences.

Comprender el flujo de trabajo push de Braze

El servicio de mensajería en la nube de Firebase (FCM) es la infraestructura de Google para las notificaciones push enviadas a las aplicaciones de Android. Esta es la estructura simplificada de cómo se habilitan las notificaciones push para los dispositivos de tus usuarios y cómo Braze puede enviarles notificaciones push:

---
config:
  theme: mc
---
sequenceDiagram
  participant Device as User Device
  participant App as Android App
  participant BrazeSDK as Braze SDK
  participant BrazeAPI as Braze Server
  participant Firebase as Google Firebase
  Note over Device, Firebase: Register Option 1<br/>Register Automatically using `com_braze_firebase_cloud_messaging_registration_enabled` in braze.xml
  App ->> Braze: App intializes Braze with the first Braze call<br>This could be automatic session handling
  BrazeSDK ->> App: Get push token from Firebase Manager
  BrazeSDK ->> BrazeAPI: Send push token to Braze Server
  Note right of BrazeAPI: Braze will remove push token from any<br>other user who may have previously<br> been logged in on the same device.
  Note over Device, Firebase: Register Option 2<br/>Manual registration.
  App ->> BrazeSDK: App sets `Braze.registeredPushToken`
  BrazeSDK ->> BrazeAPI: Send push token to Braze Server
  Note right of BrazeAPI: Braze will remove push token from any<br>other user who may have previously<br> been logged in on the same device.  
  Note over Device, Firebase: Push permission
  BrazeAPI ->> BrazeSDK: In-App Message containing push prompt
  BrazeSDK -> App: In-App Message is displayed
  App -> BrazeSDK: User requests permissions
  BrazeSDK -> App: Displays the Push Authorization prompt
  BrazeSDK -> BrazeAPI: If authorized and `com_braze_optin_when_push_authorized`, Opt-In value is sent.
  Note over Device, Firebase: Push Notification Is Sent
  BrazeAPI ->> Firebase: Sends push message 
  Firebase ->> Device: Push message sent
  Device ->> App: Android will send the push to the App.<br>This could be blocked to Do Not Disturb, Power Saving Mode, etc.
  App ->> BrazeSDK: Message is sent to BrazeFirebaseMessagingService
  BrazeSDK ->> Device: SDK will check if the push is from Braze.<br>If so, push data is transformed into a Push Notfication and displayed.

Paso 1: Configurar tu clave de API de Google Cloud

Al desarrollar tu aplicación, tendrás que proporcionar al SDK de Android de Braze tu ID de remitente de Firebase. Además, tendrás que proporcionar al panel de Braze una clave de API para aplicaciones de servidor. Braze utilizará esta clave de API para enviar mensajes a tus dispositivos. También tendrás que comprobar que el servicio FCM está habilitado en la consola del desarrollador de Google.

Paso 2: Los dispositivos se registran en el FCM y proporcionan a Braze tokens de notificaciones push

En las integraciones típicas, el SDK para Android de Braze se encargará de registrar los dispositivos para la función FCM. Esto suele ocurrir inmediatamente después de abrir la aplicación por primera vez. Tras el registro, Braze recibirá un ID de registro de FCM, que se utiliza para enviar mensajes a ese dispositivo en concreto. Almacenaremos el ID de registro de ese usuario, y ese usuario se convertirá en “registrado push” si antes no tenía un token de notificaciones push para ninguna de tus aplicaciones.

Paso 3: Lanzamiento de una campaña push Braze

Cuando se lance una campaña push, Braze hará solicitudes a FCM para que entregue tu mensaje. Braze utilizará la clave de API copiada en el panel para autenticar y verificar que podemos enviar notificaciones push a los tokens de notificaciones push proporcionados.

Paso 4: Eliminar tokens no válidos

Si FCM nos informa de que alguno de los tokens de notificaciones push a los que intentábamos enviar un mensaje no es válido, eliminamos esos tokens de los perfiles de usuario a los que estaban asociados. Si los usuarios no tienen otros tokens de notificaciones push, ya no aparecerán como “Registrados push” en la página Segmentos.

Para más detalles sobre FCM, visita Mensajería en la nube.

Utilizar los registros de errores push

Braze proporciona errores de notificación push dentro del registro de actividad de mensajes. Este registro de errores proporciona una serie de advertencias que pueden ser muy útiles para identificar por qué tus campañas no funcionan como esperabas. Si haces clic en un mensaje de error, se te redirigirá a la documentación pertinente para ayudarte a solucionar una incidencia concreta.

Escenarios de solución de problemas

Push no está enviando

Puede que tus mensajes push no se envíen debido a las siguientes situaciones:

  • Tus credenciales existen en un ID de proyecto de Google Cloud Platform incorrecto (ID de remitente incorrecto).
  • Tus credenciales tienen un ámbito de permiso incorrecto.
  • Has cargado credenciales erróneas en el espacio de trabajo Braze equivocado (ID de remitente erróneo).

Para otros problemas que puedan impedirte enviar un mensaje push, consulta la Guía del usuario de : Solución de problemas de las notificaciones push.

No se muestran los usuarios “registrados push” en el panel de Braze (antes de enviar mensajes)

Confirma que tu aplicación está correctamente configurada para permitir notificaciones push. Los puntos de fallo habituales que hay que comprobar incluyen lo siguiente:

ID de remitente incorrecto

Comprueba que el ID de remitente del FCM correcto está incluido en el archivo braze.xml. Un ID de remitente incorrecto dará lugar a errores de MismatchSenderID en el registro de actividad de mensajes del panel.

No se produce el registro de Braze

Dado que el registro de FCM se gestiona fuera de Braze, el fallo en el registro sólo puede producirse en dos lugares:

  1. Durante el registro en la FCM
  2. Al pasar el token de notificaciones push generado por FCM a Braze

Recomendamos establecer un punto de interrupción o de registro para confirmar que el token de notificaciones push generado por FCM se envía a Braze. Si un token no se genera correctamente o no se genera en absoluto, te recomendamos que consultes la documentación de FCM.

Los servicios de Google Play no están presentes

Para que FCM push funcione, Google Play Services debe estar presente en el dispositivo. Si Google Play Services no está en un dispositivo, no se producirá el registro push.

Nota: Los servicios de Google Play no se instalan en emuladores de Android que no tengan instaladas las API de Google.

Dispositivo no conectado a Internet

Comprueba que tu dispositivo tiene una buena conexión a Internet y que no está enviando tráfico de red a través de un proxy.

Al tocar la notificación push no se abre la aplicación

Comprueba si com_braze_handle_push_deep_links_automatically está configurado como true o false. Para habilitar Braze para que abra automáticamente la aplicación y cualquier vínculo profundo al tocar una notificación push, configura com_braze_handle_push_deep_links_automatically en true en tu archivo braze.xml.

Si com_braze_handle_push_deep_links_automatically está predeterminado a false, tienes que utilizar una devolución de llamada Push Braze para escuchar y gestionar las intenciones push recibidas y abiertas.

Notificaciones push rebotadas

Si no se entrega una notificación push, asegúrate de que no ha rebotado consultando la consola para desarrolladores. A continuación se describen errores comunes que pueden registrarse en la consola para desarrolladores:

Error: MismatchSenderID

MismatchSenderID indica un fallo de autenticación. Confirma que tu ID de remitente de Firebase y tu clave de API de FCM son correctos.

Error: InvalidRegistration

InvalidRegistration puede deberse a un token de notificaciones push mal formado.

  1. Asegúrate de pasar un token de notificaciones push válido a Braze desde Firebase Cloud Messaging.

Error: NoRegistrado

  1. NotRegistered suele ocurrir cuando se elimina una aplicación de un dispositivo. Braze utiliza NotRegistered internamente para indicar que se ha desinstalado una aplicación de un dispositivo.

  2. NotRegistered También puede ocurrir cuando se producen varios registros y un segundo registro invalida el primer token.

Notificaciones push enviadas pero no mostradas en los dispositivos de los usuarios

Hay algunas razones por las que esto podría estar ocurriendo:

Se forzó la salida de la aplicación

Si fuerzas la salida de tu aplicación a través de la configuración del sistema, no se enviarán tus notificaciones push. Si vuelves a iniciar la aplicación, tu dispositivo volverá a estar habilitado para recibir notificaciones push.

BrazeFirebaseMessagingService no registrado

El servicio BrazeFirebaseMessagingService debe estar correctamente registrado en AndroidManifest.xml para que aparezcan las notificaciones push:

1
2
3
4
5
6
<service android:name="com.braze.push.BrazeFirebaseMessagingService"
  android:exported="false">
  <intent-filter>
    <action android:name="com.google.firebase.MESSAGING_EVENT" />
  </intent-filter>
</service>

El cortafuegos bloquea el push

Si estás probando el push a través de Wi-Fi, puede que tu cortafuegos esté bloqueando los puertos necesarios para que FCM reciba mensajes. Confirma que los puertos 5228, 5229 y 5230 están abiertos. Además, como el FCM no especifica sus IP, también debes permitir que tu cortafuegos acepte conexiones salientes a todas las direcciones IP contenidas en los bloques IP enumerados en el ASN de Google de 15169.

Fábrica de notificaciones personalizada que devuelve null

Si has implementado una fábrica de notificaciones personalizada, asegúrate de que no devuelve null. Esto hará que no se muestren las notificaciones.

Los usuarios “registrados por push” ya no están habilitados después de enviar mensajes

Hay varias razones por las que esto puede estar ocurriendo:

Se ha desinstalado la aplicación

Los usuarios han desinstalado la aplicación. Esto invalidará su token de notificaciones push de FCM.

Clave inválida del servidor de mensajería en la nube Firebase

La clave del servidor de mensajería en la nube de Firebase proporcionada en el panel de Braze no es válida. El ID de remitente proporcionado debe coincidir con el indicado en el archivo braze.xml de tu aplicación. La clave del servidor y el ID del remitente se encuentran aquí, en tu Consola Firebase:

La plataforma Firebase, en "Configuración" y luego en "Mensajería en la nube", mostrará tu ID de servidor y tu clave de servidor.

Los clics push no se registran

Braze registra automáticamente los clics push, por lo que esta situación debería ser relativamente rara.

Si no se registran los clics push, es posible que los datos de los clics push aún no se hayan enviado a nuestros servidores. Braze regula la frecuencia de sus descargas en función de la potencia de la conexión a la red. Con una buena conexión de red, los datos push-clic deberían llegar al servidor en menos de un minuto en la mayoría de los casos.

Verificar la configuración del vínculo profundo

Los vínculos en profundidad pueden probarse con el ADB. Te recomendamos que pruebes tu vínculo profundo con el siguiente comando:

adb shell am start -W -a android.intent.action.VIEW -d "THE_DEEP_LINK" THE_PACKAGE_NAME

Si el vínculo profundo no funciona, es posible que esté mal configurado. Un vínculo profundo mal configurado no funcionará cuando se envíe a través de notificaciones push de Braze.

Verificar la lógica de manipulación personalizada

Si el vínculo profundo funciona correctamente con ADB pero no funciona desde Braze push, comprueba si se ha implementado alguna gestión personalizada de apertura de push. Si es así, comprueba que el código de gestión personalizado gestiona correctamente el vínculo profundo entrante.

Desactivar el comportamiento del back stack

Si el vínculo profundo funciona correctamente con ADB pero no funciona desde Braze push, prueba a desactivar el back stack. Para ello, actualiza tu archivo braze.xml para incluir:

1
<bool name="com_braze_push_deep_link_back_stack_activity_enabled">false</bool>

Solución de problemas

El push no aparece después de cerrar la aplicación desde el conmutador de tareas

Si observas que las notificaciones push ya no aparecen después de cerrar la aplicación desde el conmutador de tareas, es probable que tu aplicación esté en modo Depuración. Xamarin añade un andamiaje en el modo Depuración que impide que las aplicaciones reciban push después de que su proceso haya finalizado. Si ejecutas tu aplicación en Modo Lanzamiento, deberías ver push incluso después de cerrar la aplicación desde el conmutador de tareas.

La fábrica de notificaciones personalizadas no se configura correctamente

Las fábricas de notificaciones personalizadas (y todos los delegados) deben extender Java.Lang.Object para que funcionen correctamente entre C# y Java. Consulta Xamarin sobre la implementación de interfaces Java para obtener más información.

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