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

Añadiendo notifiche Push a la App de OFIBO

OFIBO Entra en Tiempo Real: le notifiche Push de Firebase Ya sono Activas

17 de septiembre de 2026

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

Hoy construimos la base per notifiche push reales en la app móvil de OFIBO, conectando la applicazione Android, el backend de Laravel, Firebase Cloud Messaging, le colas en segundo plano y nuestro servidor de produzione.

El risultato es importante: OFIBO ahora può notificar automáticamente a i utenti en sus teléfonos quando ocurre actividad relevante en la piattaforma.

Firebase Ya è Conectado a OFIBO

La parte più importante del trabajo de hoy fue integrar Firebase Cloud Messaging en OFIBO.

Configuramos el proyecto de Firebase ofibo-app y alineamos la applicazione Android con el paquete de produzione de OFIBO:

com.ofibo

La configuración de Firebase per Android, la configuración de Expo y el proyecto Android nativo ahora apuntan a la stessa identidad de applicazione de produzione.

Esto può parecer un pequeño cambio de configuración, pero afecta a varias capas de una applicazione Android con React Native / Expo. i identificadores de paquete, la configuración nativa de Gradle, i paquetes de Kotlin, la configuración de Firebase y le credenciales de EAS hanno que coincidir tra sí.

Movimos OFIBO a la Identidad Android de produzione Correcta

Altro trabajo importante de hoy fue estandarizar la applicazione 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 per que el proyecto utilice una única identidad de produzione coherente.

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

dopo de limpiar esas referencias nativas de compilación, la generación de código de React Native pudo ejecutarse correttamente de nuovo.

Tokens Push Nativos de Android

OFIBO no se limita a inviare una notifica genérica da el frontend. Cada dispositivo móvil con una sesión iniciada ahora ha su propio token de Firebase Cloud Messaging.

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

La app móvil ahora può registrar su token FCM nativo dopo de la autenticación y actualizarlo quando Firebase rota ese token.

quando un utente cierra sesión, el dispositivo anche può desactivarse per que OFIBO no siga enviando notifiche autenticadas de la account a un dispositivo que ya no debería recibirlas.

Un nuovo Sistema de Dispositivos en el Backend de Laravel

En el backend introdujimos un registro de dispositivos dedicado a le notifiche push.

OFIBO ahora almacena i dispositivos de i utenti y si cada dispositivo è actualmente activo.

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

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

El registro de tokens anche se hizo sicuro frente a condiciones de carrera mediante un upsert atómico en la base de datos. Esto es importante perché le aplicaciones móviles possono activar el registro de dispositivos più de una vez durante la autenticación, la renovación de tokens o el inicio de la app.

Firebase HTTP v1 da Laravel

La API Laravel de OFIBO ahora può 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 applicazione o del directorio web público, la credencial de la account de servicio de Firebase de produzione se almacena por separado en el servidor.

Laravel utiliza esas credenciales per autenticarse de forma sicura con Firebase y inviare notifiche a dispositivos Android registrados.

i Follower possono Recibir Avisos su nuova musica

El sistema de notifiche ya è conectado a una de le relaciones più importantes dentro de una piattaforma musical: seguire artisti.

quando un artista publica una nuova brano pública, OFIBO può identificar a i follower de ese artista, encontrar sus dispositivos móviles activos y preparar notifiche per ellos.

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

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

i nuovi Posts Pubblicatos anche possono Generar notifiche

La stessa infraestructura se amplió più allá de la musica.

i nuovi posts publicados en OFIBO anche possono enviarse a través del sistema de notifiche push, proporcionándonos una base común de notifiche que più adelante podrá admitir muchos tipos diferentes de actividad de la piattaforma.

le notifiche 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 utente.

Publicar una brano no debería volverse lento solo perché cientos o miles de follower puedan necesitar recibir notifiche.

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

La subida termina con normalidad y el trabajo de notifica se procesa por separado.

Esto anche significa que un problema temporal con Firebase no può impedir que un artista publique correttamente una brano.

Pusimos el Worker de la Cola en produzione

Crea trabajos de cola localmente es solo la mitad del trabajo. Algo ha que seguire procesándolos continuamente en produzione.

Hoy configuramos Supervisor per ejecutar permanentemente el worker de la cola de base de datos de Laravel de OFIBO en el servidor de produzione.

Eso significa que le notifiche ya no dependen de que alguien ejecute manualmente:

php artisan queue:work

El worker permanece activo y procesa automáticamente i nuovi trabajos de notifica a medida que entran en la cola.

Encontramos un Problema Real de Permisos en produzione

durante le pruebas en produzione nos encontramos con uno de i problemas più interesantes del día.

Firebase parecía estar configurado correttamente quando i comandos se ejecutaban come utente 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 utente www, que ejecutaba el worker de la cola, atravesara y leyera la ruta de le credenciales.

una vez aplicados i permisos correctos de grupo y acceso al directorio, el worker de Laravel de larga duración pudo autenticarse correttamente con Firebase.

Fue una corrección importante de produzione perché demostró que el sistema de notifiche funcionaba bajo el utente y proceso reales del servidor que serían responsables de entregar le notifiche tutti i días.

dopo Probamos Toda la Cadena

una vez conectadas tutte esas piezas, realizamos la prueba que realmente importa.

Publicamos una brano pública real.

La cadena completa quedó así:

nuova brano → Laravel → trabajo de cola → Supervisor → Firebase → dispositivo Android → notifica

Y funcionó.

più importante aún, la siguiente notifica funcionó automáticamente mediante Supervisor senza iniciar manualmente un worker de cola.

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

Preparando OFIBO per Compilaciones Android de produzione

anche seguimos preparando la applicazione Android per su canal de compilación de produzione adecuado mediante Expo Application Services.

El proyecto EAS de OFIBO è conectado a la applicazione de produzione y ahora utiliza com.ofibo come paquete de Android.

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

El perfil de compilación de produzione è configurado per creare un Android App Bundle y utilizar incremento automático remoto de versión, que es la indirizzo necesaria per futuras versiones de produzione.

Expo Doctor anche terminó correttamente con le 21 comprobaciones superadas, ofreciéndonos una base mucho più limpia per la siguiente compilación móvil de produzione.

Mucho più Que una Ventana de notifica

da la perspectiva del utente, el trabajo de hoy acaba apareciendo come algo muy sencillo: llega una notifica al telefono.

Detrás de esa notifica existe ahora toda una infraestructura de OFIBO:

  • Firebase Cloud Messaging
  • Autenticación Firebase HTTP v1
  • Tokens FCM nativos de Android
  • Registro de dispositivos de utente
  • Gestión de renovación de tokens
  • Desactivación de dispositivos al cerrar sesión
  • Descubrimiento de follower
  • Eventos de pubblicazione de brani
  • notifiche de pubblicazione de posts
  • Trabajos de cola de Laravel
  • Un worker permanente de Supervisor
  • Gestión de credenciales de produzione
  • Migración del paquete Android a com.ofibo
  • Impostazioni de produzione de Expo y EAS

Un Paso Enorme per OFIBO Mobile

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

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

OFIBO ahora ha la base técnica per una comunicación en tiempo real tra la piattaforma y sus utenti móviles.

Hoy può avisar a i follower de que un artista ha lanzado una nuova brano. La stessa infraestructura podrá impulsar con el tiempo muchos otros eventos importantes de OFIBO senza reconstruir el sistema de notifiche da cero.

Fue una enorme quantità de trabajo invisible, pero acercó considerablemente a OFIBO a comportarse come una piattaforma musical nativa completa en lugar de ser simplemente un sitio web dentro de una applicazione móvil.

17 de septiembre de 2026: Firebase, Android y el backend de OFIBO por fin empezaron a comunicarse tra sí en produzione.

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…