Skip to content


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 de iOS y OS X. 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. 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 crea tu aplicación y también debe cargarse en el panel de Braze. El certificado permite a Braze indicar a APN que estamos autorizados para enviar notificaciones push en tu nombre.

Existen dos tipos de perfiles de aprovisionamiento y certificados: desarrollo y distribución. Recomendamos utilizar únicamente perfiles y certificados de distribución para evitar confusiones. Si optas por utilizar 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 forma inmediata y asíncrona el token de notificaciones push para las aplicaciones que utilicen la política de vaciado automático predeterminada. Una vez que tengamos un token de notificaciones push asociado a un usuario, aparecerá como “Push Registered” en el panel, en su perfil de usuario, en la pestaña Engagement, 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 para 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 del envío de la Campaign. Ten en cuenta que Braze establece la fecha de expiración predeterminada de APN para las notificaciones en 30 días.

Paso 4: Eliminar tokens no válidos

Si APN nos informa 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 con los que estaban asociados.

Uso de los registros de errores push

Braze proporciona un registro de errores de notificaciones push dentro del Registro de actividad de mensajes. Este registro de errores proporciona una variedad de advertencias que pueden ser muy útiles para identificar por qué tus campañas no están funcionando como se espera. Al seleccionar un mensaje de error, se te redirige a la documentación relevante para ayudarte a solucionar un incidente en particular.

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

Los errores comunes que podrías ver aquí 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 proporciona información sobre el comportamiento del registro push, como la invalidación de tokens, errores de registro push, tokens que se trasladan a nuevos usuarios, etc.

Ejemplo animado de tarjeta de contenido.

Problemas de registro push

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

No aparece la solicitud de registro push

Si la aplicación no te solicita registrarte para notificaciones push, es probable que haya un problema con la integración de tu registro push. Asegúrate de haber seguido nuestra documentación y de haber integrado correctamente nuestro registro push. También puedes establecer puntos de interrupción en tu código para asegurar 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 esté solicitando permitir las notificaciones push. Normalmente, esta solicitud aparece la primera vez que abres la aplicación, pero se puede programar para que aparezca 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 hayan completado correctamente.
    • Comprueba que el perfil de aprovisionamiento con el que se compiló tu aplicación incluya permisos para push. Asegúrate de que estés 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 hayas habilitado correctamente la capacidad push en tu aplicación.
  • Comprueba que tu perfil de aprovisionamiento push coincida con el entorno en el que estás probando. Los certificados universales se pueden configurar en el panel de Braze para enviar al entorno de APN de desarrollo o 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 (las notificaciones push no funcionan en un simulador) y que tengas 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

Es probable que esto indique que el usuario tenía un token de notificaciones push no válido. Esto puede suceder por varias razones:

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

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

Desinstalaciones

Si un usuario ha desinstalado tu aplicación, su token de notificaciones push dejará de 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 resolver errores de configuración que surgen al trabajar con múltiples entornos, perfiles y aplicaciones al mismo tiempo. Hay muchas “partes móviles” en la configuración de notificaciones push para aplicaciones iOS, por lo que a veces es mejor volver a intentarlo desde el principio. Esto también te ayudará a aislar el problema si necesitas seguir investigando.

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.

La notificación de prueba se programó incorrectamente

Revisa la programación que configuraste para tu mensaje de prueba. Si está configurada para entrega en la 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

Revisa el perfil de usuario de la persona a la que intentas enviar un mensaje de prueba. En la pestaña Engagement, 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 de push o que el token del usuario fue devuelto a Braze como no válido por los APN después de haber sido enviado:

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

Los mensajes push no se envían

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

Errores del registro de actividad de mensajes

Se recibió envío sin registro a token de notificaciones push

  • Asegúrate de que el token de notificaciones push enviado a Braze desde el método [[Appboy sharedInstance] registerPushToken:] sea válido. Puedes consultar el Registro de actividad de mensajes para ver el token de notificaciones push. Debería verse algo como 6e407a9be8d07f0cdeb9e724733a89445f57a89ec890d63867c482a483506fa6, una cadena larga que contiene una mezcla de letras y números. Si tu token de notificaciones push se ve diferente, revisa tu código de 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 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 el token de notificaciones push que has subido a Braze coincide con el perfil de aprovisionamiento que usaste para compilar la aplicación desde la que enviaste el token de notificaciones push.

Token de dispositivo no válido para el tema

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

BadDeviceToken al enviar a token de notificaciones push

El 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 del manejo de push en tu aplicación, implementa pruebas unitarias de push.

Los clics 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 push en primer plano predeterminado antes del framework 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. Debes asegurarte de que tu aplicación no retrase las llamadas a nuestros métodos de manejo de push; de lo contrario, el SDK de iOS puede tratar las notificaciones push como eventos push silenciosos en primer plano y no gestionarlos.

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

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

Si las aperturas se están registrando, comprueba si se trata de un problema con el vínculo profundo en general o con el manejo del clic push de 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.
  • Vuelve a comprobar 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:, debe ejecutarse el código del paso 3. La propiedad delegate de UNUserNotificationCenter.current() debe asignarse a un objeto que implemente UNUserNotificationCenterDelegate y contenga el método (void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:.
    • Habilitar el manejo de push: Verifica que el método (void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: se haya implementado.

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

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

Si al tocar una imagen de Push Stories no se 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 se encuentra en ese plist, elimínalo. La configuración de Push Stories de Objective-C no incluye esa clave.

New Stuff!