Para que las notificaciones lleguen a dispositivos Android reales en producción (o Development Builds), necesitamos configurar un proyecto en Firebase y vincular sus credenciales con EAS.
Así es como se conectan las piezas: Tu App, Firebase y los servidores de Expo (EAS).
1 Nombre del Paquete (Package Name)
Igual que tú tienes un DNI o Cédula, tu App necesita un ID único en el mundo. Se llama Package Name y tiene formato de dominio inverso (ej: com.tuempresa.tuapp).
Configúralo en tu app.json bajo la sección de Android:
En la vista general, añade una nueva aplicación Android (icono del robot ).
Importante: Usa EXACTAMENTE el mismo package que definiste en el paso anterior (ej. com.usuario.pushmaster).
Descarga el archivo google-services.json cuando te lo ofrezca.
Coloca este archivo en la raíz de tu proyecto Expo.
Terminal window
📂/
├──src/
│├──📱app/
│└──🧱components/
├──⚙️app.json
├──🤖google-services.json<---¡Aquí!
├──🔧babel.config.js
├──📦package.json
└──📘tsconfig.json
⚠️ Seguridad en Repositorios
Si tu repositorio es público, NO SUBAS este archivo. Agrégalo a tu .gitignore.
Aunque contiene identificadores públicos, es una buena práctica de higiene mantenerlo fuera del control de versiones si es posible, o usar secretos de EAS si trabajas en equipo.
3 Subir Credenciales a EAS
EAS necesita permiso para enviar notificaciones en tu nombre a través de los servidores de Google (FCM V1).
Ejecuta el siguiente comando en tu terminal:
Terminal window
eascredentials
Sigue el asistente interactivo:
Selecciona Android.
Selecciona production (generalmente las credenciales de push se comparten, pero production es lo estándar).
Elige Google Service Account Key (para FCM V1).
Si te pide generar una nueva (o subir una existente):
Ve a la consola de Firebase -> Configuración del Proyecto -> Cuentas de servicio.
Dale a “Generar nueva clave privada”.
Sube ese archivo JSON al CLI de EAS cuando te lo pida.
📚 Referencias Oficiales
¿Te has atascado? Consulta la documentación oficial para más detalles visuales: