Firebase (Android and iOS via FCM)
How to get the Firebase service account and upload it to Pushtifly.
Android sends through Firebase Cloud Messaging (FCM) (Huawei phones without Google use Push Kit: see Huawei phones). If your iOS app also uses Firebase for push (Flutter, React Native or Cordova with Firebase), this same credential works for iOS: see iOS via FCM.
Pushtifly uses the FCM HTTP v1 API with a service account. The old "server key" no longer exists and doesn't work.
1. Create or choose the Firebase project
In the Firebase console, use the project where you registered your Android app: your app's google-services.json comes from there.
2. Generate the service account key
- Project settings (gear icon) → Service accounts.
- Firebase Admin SDK → Generate new private key.
- A
.jsonfile is downloaded with"type": "service_account",project_id,client_emailandprivate_key.
3. Upload it to Pushtifly
In the panel: Apps → your app → Credentials → Android (FCM) → upload the .json or paste its content. Pushtifly validates it against Google instantly:
| Result | What it means |
|---|---|
| Valid | Ready to send. |
5002 Invalid credential |
The key was revoked, the JSON is incomplete or the FCM API isn't enabled in the project. |
| Different project | The project_id doesn't match your devices': sends will fail with SENDER_ID_MISMATCH. |
If the API isn't enabled: in the Google Cloud Console, in the same project, enable Firebase Cloud Messaging API (V1).
Rotate the key
Generate a new key in Firebase, upload it to Pushtifly (it replaces the previous one without interrupting sends) and then delete the old key in Firebase.
Common errors
SENDER_ID_MISMATCH: the token was generated with another Firebase project. Check the app'sgoogle-services.json.UNREGISTERED: the app was uninstalled or the token changed. Pushtifly marks the device as invalid and stops sending to it.THIRD_PARTY_AUTH_ERRORon iOS via FCM: the APNs key is missing in Firebase. See iOS via FCM.