Firebase (Android y iOS vía FCM)
Cómo obtener la cuenta de servicio de Firebase y subirla a PushHub.
Android siempre envía a través de Firebase Cloud Messaging (FCM). Si tu app iOS también usa Firebase para push (Flutter, React Native o Cordova con Firebase), esta misma credencial sirve para iOS: ver iOS vía FCM.
PushHub usa la API HTTP v1 de FCM con una cuenta de servicio. La «clave de servidor» antigua ya no existe y no sirve.
1. Crea o elige el proyecto de Firebase
En la consola de Firebase, usa el proyecto donde registraste tu app Android: el google-services.json de tu app viene de ahí.
2. Genera la clave de la cuenta de servicio
- Configuración del proyecto (rueda dentada) → Cuentas de servicio.
- Firebase Admin SDK → Generar nueva clave privada.
- Se descarga un archivo
.jsoncon"type": "service_account",project_id,client_emailyprivate_key.
3. Súbela a PushHub
En el panel: Apps → tu app → Credenciales → Android (FCM) → sube el .json o pega su contenido. PushHub la valida contra Google al instante:
| Resultado | Qué significa |
|---|---|
| Válida | Lista para enviar. |
5002 Credencial inválida |
La clave fue revocada, el JSON está incompleto o la API de FCM no está habilitada en el proyecto. |
| Proyecto distinto | El project_id no coincide con el de tus dispositivos: los envíos fallarán con SENDER_ID_MISMATCH. |
Si la API no está habilitada: en Google Cloud Console, en el mismo proyecto, activa Firebase Cloud Messaging API (V1).
Rotar la clave
Genera una clave nueva en Firebase, súbela en PushHub (reemplaza a la anterior sin cortar los envíos) y después elimina la clave vieja en Firebase.
Errores frecuentes
SENDER_ID_MISMATCH: el token se generó con otro proyecto de Firebase. Revisa elgoogle-services.jsonde la app.UNREGISTERED: la app se desinstaló o el token cambió. PushHub marca el dispositivo como inválido y deja de enviarle.THIRD_PARTY_AUTH_ERRORen iOS vía FCM: falta la llave APNs dentro de Firebase. Ver iOS vía FCM.