🐛 [@react-native-firebase/installations] Auto-register APNs on iOS when using FID for messaging
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- ios, javascript, react-native
- Domain
- mobile
Research direction
Start by tracing how installations().getId() fetches or syncs the FID on iOS, then compare that path with messaging().registerDeviceForRemoteMessages(). Check the handling of FirebaseMessagingInstallationIdEnabled and determine how APNs registration should be triggered or exposed; done means an iOS FID has an APNs token mapped without the manual workaround and notifications no longer return NotRegistered.
Written by the indexing model from the issue text.
Description
When targeting devices using Firebase Installation IDs (FIDs) obtained via @react-native-firebase/installations (as recommended in recent Firebase messaging documentation), sending push notifications to iOS devices fails from the backend with a NotRegistered (UNREGISTERED 404) error.
This happens because @react-native-firebase/installations operates independently from APNs. Unlike messaging().getToken()—which automatically handles or triggers APNs device registration under the hood—fetching an FID via installations().getId() does not register the device for remote notifications with Apple.
Because of this, Firebase's backend does not have an APNs token mapped to the FID on iOS, causing notifications to be rejected with NotRegistered.
When FirebaseMessagingInstallationIdEnabled is set to true (or when both @react-native-firebase/messaging and @react-native-firebase/installations are included in the project), the library should either:
- Automatically trigger APNs registration (
registerDeviceForRemoteMessages()) under the hood when fetching/syncing the FID on iOS. - Or provide an explicit helper method or configuration option within the SDK to automatically bind APNs registration to the FID, ensuring parity with how
messaging().getToken()works.
Currently, the workaround on iOS is to manually force APNs registration before utilizing the FID:
import messaging from '@react-native-firebase/messaging';
import installations from '@react-native-firebase/installations';
if (Platform.OS === 'ios') {
await messaging().registerDeviceForRemoteMessages();
}
const fid = await installations().getId();
- Dominant language
- TypeScript
- Stars
- 12.3k
- Forks
- 2.3k
- Avg merge
- 8d 2h
- Merged PRs (30d)
- 22
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from invertase/react-native-firebase
-
Bump Firebase JS SDK (12.19.0 → 13.0.0)Possibly taken @SelaseKay claimed this 10 days ago. Opentype: enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
invertase/react-native-firebase#9364 · 1 comment ·
Maintainers usually reply within 1 day
-
Bump Firebase Android SDK (34.19.0 → 35.0.1)Possibly taken @SelaseKay claimed this 10 days ago. Opentype: enhancement
Difficulty 1/5 Under an hour Newbie friendliness 20/100
invertase/react-native-firebase#9363 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
invertase/react-native-firebase#9360 ·
Maintainers usually reply within 1 day
-
Needs Attention platform: ios plugin: app-core type: bug
Difficulty 4/5 3-5 days Newbie friendliness 25/100
invertase/react-native-firebase#9354 · 7 comments ·
Maintainers usually reply within 1 day
-
blocked: firebase-sdk Keep Open plugin: analytics type: bug
Difficulty 4/5 3-5 days Newbie friendliness 38/100
invertase/react-native-firebase#9115 · 3 comments ·
Maintainers usually reply within 1 day
All issues in invertase/react-native-firebase
Similar issues
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
components-web-app/docs#260 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 65/100
521xueweihan/HelloGitHub#4025 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
ctrf-io/playwright-ctrf-json-reporter#117 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
voidzero-dev/void#478 ·
Maintainers usually reply within 1 day