Back to posts
Añadiendo Notificaciones Push a la App de OFIBO
NoticiasSeptember 17, 20268 minutes read

Añadiendo Notificaciones Push a la App de OFIBO

OFIBO Entra en Tiempo Real: Las Notificaciones Push de Firebase Ya Están Activas

17 de septiembre de 2026

El 17 de septiembre fue uno de esos días de desarrollo en los que una función que parece sencilla en pantalla requirió una enorme cantidad de trabajo detrás.

Hoy construimos la base para notificaciones push reales en la app móvil de OFIBO, conectando la aplicación Android, el backend de Laravel, Firebase Cloud Messaging, las colas en segundo plano y nuestro servidor de producción.

El resultado es importante: OFIBO ahora puede notificar automáticamente a los usuarios en sus teléfonos cuando ocurre actividad relevante en la plataforma.

Firebase Ya Está Conectado a OFIBO

La parte más importante del trabajo de hoy fue integrar Firebase Cloud Messaging en OFIBO.

Configuramos el proyecto de Firebase ofibo-app y alineamos la aplicación Android con el paquete de producción de OFIBO:

com.ofibo

La configuración de Firebase para Android, la configuración de Expo y el proyecto Android nativo ahora apuntan a la misma identidad de aplicación de producción.

Esto puede parecer un pequeño cambio de configuración, pero afecta a varias capas de una aplicación Android con React Native / Expo. Los identificadores de paquete, la configuración nativa de Gradle, los paquetes de Kotlin, la configuración de Firebase y las credenciales de EAS tienen que coincidir entre sí.

Movimos OFIBO a la Identidad Android de Producción Correcta

Otro trabajo importante de hoy fue estandarizar la aplicación móvil alrededor de com.ofibo.

Actualizamos la configuración de Expo, el namespace de Android, el application ID y la estructura de paquetes nativos de Kotlin para que el proyecto utilice una única identidad de producción coherente.

También solucionamos artefactos obsoletos de compilación y generación de código de Android que habían quedado de la antigua estructura de paquetes.

Después de limpiar esas referencias nativas de compilación, la generación de código de React Native pudo ejecutarse correctamente de nuevo.

Tokens Push Nativos de Android

OFIBO no se limita a enviar una notificación genérica desde el frontend. Cada dispositivo móvil con una sesión iniciada ahora tiene su propio token de Firebase Cloud Messaging.

Creamos soporte en el backend para registrar esos dispositivos en OFIBO.

La app móvil ahora puede registrar su token FCM nativo después de la autenticación y actualizarlo cuando Firebase rota ese token.

Cuando un usuario cierra sesión, el dispositivo también puede desactivarse para que OFIBO no siga enviando notificaciones autenticadas de la cuenta a un dispositivo que ya no debería recibirlas.

Un Nuevo Sistema de Dispositivos en el Backend de Laravel

En el backend introdujimos un registro de dispositivos dedicado a las notificaciones push.

OFIBO ahora almacena los dispositivos de los usuarios y si cada dispositivo está actualmente activo.

Añadimos endpoints autenticados de la API para registrar y desactivar dispositivos:

POST /api/push-devices
DELETE /api/push-devices

El registro de tokens también se hizo seguro frente a condiciones de carrera mediante un upsert atómico en la base de datos. Esto es importante porque las aplicaciones móviles pueden activar el registro de dispositivos más de una vez durante la autenticación, la renovación de tokens o el inicio de la app.

Firebase HTTP v1 Desde Laravel

La API Laravel de OFIBO ahora puede comunicarse directamente con Firebase mediante la moderna API HTTP v1 de Firebase Cloud Messaging.

En lugar de colocar credenciales sensibles de Firebase dentro del repositorio de la aplicación o del directorio web público, la credencial de la cuenta de servicio de Firebase de producción se almacena por separado en el servidor.

Laravel utiliza esas credenciales para autenticarse de forma segura con Firebase y enviar notificaciones a dispositivos Android registrados.

Los Seguidores Pueden Recibir Avisos Sobre Nueva Música

El sistema de notificaciones ya está conectado a una de las relaciones más importantes dentro de una plataforma musical: seguir artistas.

Cuando un artista publica una nueva canción pública, OFIBO puede identificar a los seguidores de ese artista, encontrar sus dispositivos móviles activos y preparar notificaciones para ellos.

Conectamos esto tanto con el flujo de subida de Artist Studio como con el flujo administrativo de subida de canciones, por lo que el comportamiento no depende de qué interfaz de OFIBO se haya utilizado para publicar la pista.

La lógica se basa en la publicación de una nueva canción pública y no en una categoría musical concreta, lo que mantiene la función flexible a medida que OFIBO crece.

Los Nuevos Posts Publicados También Pueden Generar Notificaciones

La misma infraestructura se amplió más allá de la música.

Los nuevos posts publicados en OFIBO también pueden enviarse a través del sistema de notificaciones push, proporcionándonos una base común de notificaciones que más adelante podrá admitir muchos tipos diferentes de actividad de la plataforma.

Las Notificaciones se Procesan Mediante Colas de Laravel

Una decisión arquitectónica importante fue mantener el trabajo de Firebase fuera de la solicitud de subida del usuario.

Publicar una canción no debería volverse lento solo porque cientos o miles de seguidores puedan necesitar recibir notificaciones.

En su lugar, OFIBO crea un trabajo en una cola en segundo plano.

La subida termina con normalidad y el trabajo de notificación se procesa por separado.

Esto también significa que un problema temporal con Firebase no puede impedir que un artista publique correctamente una canción.

Pusimos el Worker de la Cola en Producción

Crear trabajos de cola localmente es solo la mitad del trabajo. Algo tiene que seguir procesándolos continuamente en producción.

Hoy configuramos Supervisor para ejecutar permanentemente el worker de la cola de base de datos de Laravel de OFIBO en el servidor de producción.

Eso significa que las notificaciones ya no dependen de que alguien ejecute manualmente:

php artisan queue:work

El worker permanece activo y procesa automáticamente los nuevos trabajos de notificación a medida que entran en la cola.

Encontramos un Problema Real de Permisos en Producción

Durante las pruebas en producción nos encontramos con uno de los problemas más interesantes del día.

Firebase parecía estar configurado correctamente cuando los comandos se ejecutaban como usuario root del servidor, pero el worker permanente de Supervisor seguía indicando que Firebase no estaba configurado.

La causa resultó no ser Firebase en sí.

El directorio de credenciales de Firebase tenía permisos del sistema de archivos que permitían a root acceder a él, pero impedían que el usuario www, que ejecutaba el worker de la cola, atravesara y leyera la ruta de las credenciales.

Una vez aplicados los permisos correctos de grupo y acceso al directorio, el worker de Laravel de larga duración pudo autenticarse correctamente con Firebase.

Fue una corrección importante de producción porque demostró que el sistema de notificaciones funcionaba bajo el usuario y proceso reales del servidor que serían responsables de entregar las notificaciones todos los días.

Después Probamos Toda la Cadena

Una vez conectadas todas esas piezas, realizamos la prueba que realmente importa.

Publicamos una canción pública real.

La cadena completa quedó así:

Nueva canción → Laravel → trabajo de cola → Supervisor → Firebase → dispositivo Android → notificación

Y funcionó.

Más importante aún, la siguiente notificación funcionó automáticamente mediante Supervisor sin iniciar manualmente un worker de cola.

Eso confirmó que no se trataba solamente de una prueba de desarrollo exitosa. La propia canalización de notificaciones de producción estaba funcionando.

Preparando OFIBO para Compilaciones Android de Producción

También seguimos preparando la aplicación Android para su canal de compilación de producción adecuado mediante Expo Application Services.

El proyecto EAS de OFIBO está conectado a la aplicación de producción y ahora utiliza com.ofibo como paquete de Android.

Verificamos la configuración de Firebase con ese paquete y comprobamos las credenciales de firma de Android almacenadas por EAS.

El perfil de compilación de producción está configurado para crear un Android App Bundle y utilizar incremento automático remoto de versión, que es la dirección necesaria para futuras versiones de producción.

Expo Doctor también terminó correctamente con las 21 comprobaciones superadas, ofreciéndonos una base mucho más limpia para la siguiente compilación móvil de producción.

Mucho Más Que una Ventana de Notificación

Desde la perspectiva del usuario, el trabajo de hoy acaba apareciendo como algo muy sencillo: llega una notificación al teléfono.

Detrás de esa notificación existe ahora toda una infraestructura de OFIBO:

  • Firebase Cloud Messaging
  • Autenticación Firebase HTTP v1
  • Tokens FCM nativos de Android
  • Registro de dispositivos de usuario
  • Gestión de renovación de tokens
  • Desactivación de dispositivos al cerrar sesión
  • Descubrimiento de seguidores
  • Eventos de publicación de canciones
  • Notificaciones de publicación de posts
  • Trabajos de cola de Laravel
  • Un worker permanente de Supervisor
  • Gestión de credenciales de producción
  • Migración del paquete Android a com.ofibo
  • Configuración de producción de Expo y EAS

Un Paso Enorme para OFIBO Mobile

El 17 de septiembre no se trató de añadir un botón o cambiar una página.

Conectamos varios sistemas independientes y logramos que funcionaran juntos como una sola canalización de producción.

OFIBO ahora tiene la base técnica para una comunicación en tiempo real entre la plataforma y sus usuarios móviles.

Hoy puede avisar a los seguidores de que un artista ha lanzado una nueva canción. La misma infraestructura podrá impulsar con el tiempo muchos otros eventos importantes de OFIBO sin reconstruir el sistema de notificaciones desde cero.

Fue una enorme cantidad de trabajo invisible, pero acercó considerablemente a OFIBO a comportarse como una plataforma musical nativa completa en lugar de ser simplemente un sitio web dentro de una aplicación móvil.

17 de septiembre de 2026: Firebase, Android y el backend de OFIBO por fin empezaron a comunicarse entre sí en producción.

Published September 17, 2026
0 views
Written by adam (@adam)
More posts
Share this post

Share it with your friends and community.

f𝕏in

Comments

0 comments

Comments may be held for moderation.

Loading comments…