Hi Killian,
The key part of your error is actually:
Plain Text
FIS_AUTH_ERROR
This comes from Firebase Installations Service (FIS), which is used under the hood by FCM to generate and manage registration tokens. In most cases, this error occurs before Mendix or your nanoflow logic is involved, when the Android app cannot successfully authenticate with the Firebase project.
Since:
✅ iOS works
✅ Android app builds successfully
✅ GetPushNotificationToken is executed
❌ Android token generation fails with FIS_AUTH_ERROR
I would focus on the Android Firebase configuration.
1. SHA-1 / SHA-256 fingerprints
The most common cause I've seen is an incorrect or missing Android signing fingerprint.
Make sure the Firebase Android application contains the SHA fingerprint of the actual keystore used to sign the APK/AAB you're testing.
Common mistake:
Plain Text
Debug SHA added
Production build installed
or
Plain Text
Old SHA added
New Native Builder keystore used
After updating fingerprints, download a fresh:
Plain Text
google-services.json
and rebuild the native app.
Confirm all three match exactly:
Plain Text
Firebase Android App
Mendix Android App Identifier
Android Manifest package/applicationId
Even a small mismatch can cause Firebase authentication failures.
You mentioned:
Plain Text
MakeItNative → Firebase Project A
Fleet Acceptance → Firebase Project B
Make sure the generated APK contains the correct:
Plain Text
google-services.json
for the Acceptance Firebase project.
I've seen situations where:
Plain Text
Package Name = Project B
google-services.json = Project A
leading to FIS_AUTH_ERROR.
After changing Firebase configuration:
Firebase installation IDs can be cached locally.
Plain Text
registerHeadlessTask called multiple times
I'd treat this as a secondary warning.
It may indicate:
but it typically does not prevent token generation by itself.
The FIS_AUTH_ERROR is the more significant issue.
Based on your description, if iOS works and Android consistently returns:
Plain Text
java.io.IOException: FIS_AUTH_ERROR
I would investigate in this order:
google-services.jsonIn my experience, 90% of FIS_AUTH_ERROR cases on Android come down to Firebase Android app registration (SHA fingerprint or project configuration) rather than Mendix push notification logic itself.