Ir al contenido


Solución de problemas

Comprender el flujo de trabajo de Braze/APN

El servicio de notificaciones push de Apple (APN) es la infraestructura de Apple para el envío de notificaciones push a aplicaciones iOS y OS X. A continuación se muestra la estructura simplificada de cómo se habilitan las notificaciones push en los dispositivos de tus usuarios y cómo Braze puede enviarles notificaciones push:

  1. Configuras el certificado push y el perfil de aprovisionamiento
  2. Los dispositivos se registran en APN y proporcionan a Braze los tokens de notificaciones push
  3. Lanzas una Campaign push de Braze
  4. Braze elimina los tokens no válidos

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

Cuando desarrolles tu aplicación, crea un certificado SSL para habilitar las notificaciones push. Este certificado se incluye en el perfil de aprovisionamiento con el que se compila tu aplicación y también debe cargarse en el panel de Braze. El certificado permite a Braze indicar a APN que estamos autorizados a enviar notificaciones push en tu nombre.

Existen dos tipos de perfiles de aprovisionamiento y certificados: desarrollo y distribución. Recomendamos usar solo perfiles y certificados de distribución para evitar cualquier confusión. Si eliges usar perfiles y certificados diferentes para desarrollo y distribución, asegúrate de que el certificado cargado en el panel coincida con el perfil de aprovisionamiento que estás utilizando actualmente.

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

Cuando los usuarios abran tu aplicación, se les pedirá que acepten las notificaciones push. Si aceptan esta solicitud, APN generará un token de notificaciones push para ese dispositivo en particular. El SDK de iOS enviará de manera inmediata y asíncrona el token de notificaciones push para las aplicaciones que usen la política de vaciado automático predeterminada. Una vez que tengamos un token de notificaciones push asociado a un usuario, este aparecerá como “Push Registered” en el panel, en su perfil de usuario dentro de la pestaña Participación, y será elegible para recibir notificaciones push de Campaigns de Braze.

Paso 3: Lanzar una Campaign push de Braze

Cuando se lanza una Campaign push, Braze realizará solicitudes a APN para entregar tu mensaje. Braze utilizará el certificado push SSL cargado en el panel para autenticar y verificar que estamos autorizados a 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 Campaign. Ten en cuenta que Braze establece la fecha de vencimiento predeterminada de 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.

Revisar errores push

Messaging Observability muestra por qué no se envió una notificación push de una Campaign o Canvas, incluidos los errores devueltos por APN.

Los errores comunes incluyen notificaciones específicas del usuario, como “Received Unregistered Sending to Push Token”.

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

Ejemplo animado de tarjeta de contenido.

Problemas con el registro push

Para añadir verificación a la lógica de registro push de tu aplicación, implementa pruebas unitarias de push.

No aparece el aviso de registro push

Si la aplicación no te solicita registrarte para recibir notificaciones push, es probable que haya un problema con la integración del registro push. Asegúrate de haber 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 aparecen usuarios “registrados para push” en el panel

  • Comprueba que tu aplicación te solicita permitir las notificaciones push. Por lo general, este aviso aparece la primera vez que abres la aplicación, pero puede programarse para aparecer en otro lugar. 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.
    • Verifica que los pasos de la integración push se completaron correctamente.
    • Comprueba que el perfil de aprovisionamiento con el que se compiló tu aplicación incluye permisos para push. Asegúrate de estar descargando todos los perfiles de aprovisionamiento disponibles de tu cuenta de desarrollador de Apple. Para confirmarlo, sigue estos pasos:
      1. En Xcode, ve a Preferences > Accounts (o usa el atajo de teclado Command+,).
      2. Selecciona el Apple ID que usas para tu cuenta de desarrollador y haz clic en View Details.
      3. En la siguiente página, haz clic en Refresh y confirma que estás descargando todos los perfiles de aprovisionamiento disponibles.
  • Comprueba que has habilitado correctamente la capacidad push en tu aplicación.
  • Comprueba que tu perfil de aprovisionamiento push coincide con el entorno en el que estás probando. Los certificados universales pueden configurarse en el panel de Braze para enviar al entorno de APN de desarrollo o de producción. Usar un certificado de desarrollo 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.
  • Comprueba que estás en un dispositivo (push no funcionará en un simulador) y que tienes buena conectividad de red.

Dispositivos que no reciben notificaciones push

Los usuarios ya no están “registrados para push” después de enviar una notificación push

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

Discrepancia entre el certificado del panel y el de la aplicación

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

Desinstalaciones

Si un usuario ha desinstalado tu aplicación, su token de notificaciones push será no 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 resolver errores de configuración que surgen al trabajar con múltiples entornos, perfiles y aplicaciones al mismo tiempo. Hay muchas “piezas en movimiento” al configurar las notificaciones push para aplicaciones iOS, así que a veces es mejor reintentar desde el principio. Esto también ayudará a aislar el problema si necesitas continuar con la solución de problemas.

Los usuarios siguen “registrados para push” después de enviar una notificación 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, 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 estableciste para tu mensaje de prueba. Si está configurada para entrega en zona horaria local o con sincronización inteligente, es posible que simplemente aún no hayas recibido el mensaje (o que la aplicación estuviera en primer plano cuando se recibió).

El usuario no está “registrado para push” en la aplicación que se está probando

Comprueba el perfil de usuario de la persona a la que intentas enviar un mensaje de prueba. En la pestaña Participación, debería haber una lista de “aplicaciones con push habilitado”. Verifica que la aplicación a la que intentas enviar mensajes de prueba esté en esta lista. Los usuarios aparecerán como “Push Registered” si tienen un token de notificaciones push para cualquier aplicación en tu espacio de trabajo, por lo que esto podría ser un falso positivo.

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

Un perfil de usuario que muestra la configuración de contacto de un usuario. Aquí puedes ver para qué aplicaciones está registrado push.

Las notificaciones push no se envían

Para solucionar problemas con las notificaciones push que no se envían, consulta Solución de problemas de push.

Errores de notificaciones push

Recibido sin registrar enviando al token de notificaciones push

  • Asegúrate de que el token de notificaciones push que se envía a Braze desde el método [[Appboy sharedInstance] registerPushToken:] sea válido. Revisa el error de la Campaign o Canvas en Messaging Observability. El token debería verse algo como 6e407a9be8d07f0cdeb9e724733a89445f57a89ec890d63867c482a483506fa6, una cadena larga que contiene una combinación de letras y números. Si tu token de notificaciones push se ve diferente, verifica tu código para el envío de tokens de notificaciones push a Braze.
  • Asegúrate de que tu perfil de aprovisionamiento push coincida con el entorno en el que estás realizando pruebas. Los certificados universales se pueden configurar en el panel de Braze para enviar al entorno de APN de desarrollo o de producción. Usar un certificado de desarrollo para una aplicación de producción o un certificado de producción para una aplicación de desarrollo no funcionará.
  • Verifica que el token de notificaciones push que has subido a Braze coincida con el perfil de aprovisionamiento que usaste para compilar la aplicación desde la que se envió el token de notificaciones push.

Token de dispositivo no corresponde al tema

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

BadDeviceToken al enviar al token de notificaciones push

BadDeviceToken es un código de error de APN y no se origina en Braze. Puede haber varias razones por las que se devuelve 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.
  • Las notificaciones push estaban desactivadas para este espacio de trabajo.
  • El usuario ha rechazado las notificaciones push.
  • La aplicación fue desinstalada.
  • Apple actualizó el token de notificaciones push, lo que invalidó el token anterior.
  • La aplicación se compiló para un entorno de producción, pero las credenciales push cargadas en Braze están configuradas para un entorno de desarrollo (o viceversa).

Problemas después de la entrega push

Para añadir verificación de la gestión de push en tu aplicación, implementa pruebas unitarias de push.

Los clics en push no se registran

  • Si esto solo ocurre en iOS 10, asegúrate de haber seguido los pasos de integración push para iOS 10.
  • Braze no gestiona las notificaciones push recibidas de forma silenciosa en primer plano (por ejemplo, el comportamiento predeterminado de push en primer plano antes del framework UserNotifications). Esto significa que los enlaces no se abrirán y los clics en 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. Debes asegurarte de que tu aplicación no retrase las llamadas a nuestros métodos de gestión de push; de lo contrario, el SDK de iOS puede tratar las notificaciones push como eventos de push silenciosos en primer plano y no gestionarlas.

iOS 9+ requiere que los enlaces cumplan con ATS para abrirse en vistas web. Asegúrate de que tus enlaces web usen HTTPS. Consulta nuestro artículo sobre cumplimiento de ATS para más información.

La mayor parte del código que gestiona los vínculos profundos también gestiona las aperturas de push. Primero, asegúrate de que las aperturas de push se estén registrando. Si no es así, corrige ese problema (ya que la corrección a menudo también soluciona la gestión de enlaces).

Si las aperturas se están registrando, comprueba si el problema es con el vínculo profundo en general o con la gestión de clics en push con vinculación en profundidad. Para ello, prueba si un vínculo profundo desde un clic en un mensaje dentro de la aplicación funciona.

Pocas o ninguna apertura directa

Si al menos un usuario abre tu notificación push de iOS, pero se registran pocas o ninguna Direct Opens en Braze, puede haber un problema con tu integración de SDK. Ten en cuenta que las Direct Opens no se registran para envíos de prueba ni para notificaciones push silenciosas.

  • Asegúrate de que los mensajes no se estén enviando como notificaciones push silenciosas. El mensaje debe tener texto en el título o en el cuerpo para no ser considerado silencioso.
  • Verifica los siguientes pasos de la guía de integración push:
    • Registrarse para push: En cada inicio de la aplicación, preferiblemente dentro de application:didFinishLaunchingWithOptions:, el código del paso 3 debe ejecutarse. La propiedad delegada de UNUserNotificationCenter.current() debe asignarse a un objeto que implemente UNUserNotificationCenterDelegate y contenga el método (void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:.
    • Habilitar la gestión de push: Verifica que se haya implementado el método (void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:.

Los clics en imágenes de Push Stories no hacen nada

Esta sección aplica a la integración de Push Stories del SDK de Objective-C. Si usas el módulo BrazePushStory del SDK de Swift, configura UNNotificationExtensionUserInteractionEnabled como YES. Consulta Push Stories.

Si tocar una imagen de Push Stories no abre la acción esperada, abre el Info.plist de la extensión de contenido de notificación y verifica que las claves coincidan con las de la configuración de Push Stories:

  • UNNotificationExtensionCategory = ab_cat_push_story_v2
  • UNNotificationExtensionDefaultContentHidden = YES
  • UNNotificationExtensionInitialContentSizeRatio = 0.65

Si UNNotificationExtensionUserInteractionEnabled está en ese plist, elimínalo. La configuración de Push Stories de Objective-C no incluye esa clave.

New Stuff!