Problema con getUnreadConversationCount() en React Native: siempre retorna 0 aunque hay mensajes no leídos | Community
Skip to main content
Hola comunidad,
Estoy integrando Intercom en una app React Native (bare, usando EAS Build, no Expo Go) y tengo el siguiente problema:
  • Uso el método Intercom.getUnreadConversationCount() para mostrar un badge de mensajes no leídos.
  • El usuario está correctamente identificado (userId y email coinciden con los del panel web).
  • Desde el panel web de Intercom, envío mensajes al usuario (tanto desde un agente humano como desde el bot).
  • En el panel web, los mensajes aparecen como “Not seen” para el usuario.
  • Sin embargo, en la app, el método getUnreadConversationCount() siempre retorna 0, incluso después de recibir mensajes nuevos y refrescar el conteo.
  • Ya probé con mensajes automáticos/bot y tampoco se refleja el conteo.
  • No necesito push notifications, solo quiero mostrar el número de mensajes no leídos.
  • Estoy usando la última versión de @intercom/intercom-react-native y la integración nativa está bien (la mensajería funciona).
¿Alguien ha tenido este problema?
¿Hay alguna limitación conocida en el SDK de React Native respecto al conteo de mensajes no leídos enviados por agentes humanos?
¿Algún workaround o configuración especial que deba revisar?
¡Gracias de antemano!

Hola @Felipe. Soy Emily de Ingeniería de Soporte en Intercom 👋🏼

Sugerencias:

  • El método Intercom.getUnreadConversationCount() es la forma correcta de recuperar el recuento de mensajes no leídos en React Native. Para mantener el recuento actualizado, también deberías detectar cambios mediante el evento IntercomEvents.IntercomUnreadCountDidChange y actualizar tu insignia según corresponda. Esto garantiza que tu interfaz de usuario refleje los cambios en tiempo real en los mensajes no leídos.
  • Se ha informado que unreadCount solo se actualiza al cargar Messenger por primera vez, y no después de los mensajes posteriores. Esto podría deberse al almacenamiento en caché o al momento en que se llama al método. Se recomienda llamar al método de recuento de mensajes no leídos con más frecuencia, por ejemplo, después de enviar o recibir mensajes, o después de ciertas acciones del usuario.
  • En algunos casos, forzar manualmente una actualización con Intercom('update') (para web) ha sido útil, pero esto podría no ser aplicable directamente a React Native. Sin embargo, el problema subyacente puede ser similar: el recuento de no leídos podría no actualizarse en tiempo real debido al almacenamiento en caché o a limitaciones del SDK.

Si estos pasos no resuelven el problema, podría tratarse de una limitación o un error del SDK que requiera mayor investigación. Para ello, recomiendo contactar con nuestro equipo.

¡Espero que te sea útil! 💪🏼


Reply