Support Firestore DataConverter (withConverter)
The Firebase SDK has exposed a withConverter() method, on a Document/CollectionReference and Query, since 7.6.0 ( https://firebase.google.com/support/release-notes/js#cloud-firestore_15 ) It would be great to see that exposed in react-native-firebase. API Reference here: https://firebase.google.com/docs/reference/js/firebase.firestore.FirestoreDataConverter
Add React Hooks
Allows users to import reusable hooks for common tasks such as authentication. Example from React-firebase-hooks: https://github.com/CSFrequency/react-firebase-hooks/tree/master/auth
Add support for connecting to Auth emulator
In the official docs, the Firebase Web client can connect to the local Auth emulator using firebase.auth().useEmulator(<url>);. Link here: https://firebase.google.com/docs/emulator-suite/connect_auth#web It would be awesome if this could be translated to React Native as well, similar to functions().useFunctionsEmulator()
logEvent fields will not be logged if over 100 characters
Current behaviour of analytics().logEvent (or any analytics events) is to send fields that are too long. Only after we see them in the dashboard can we see that there's an error in string length. I'd think we should either document this, or better to have a warning mechanism. It's difficult to see know that a field will suddenly get tracked just because it's 103 characters in length.
Expo plugin for Analytics/DebugView configuration
It would be nice to be able to configure Analytics to enable DebugView via an Expo plugin. It seems that this can be done at runtime (?) on Android, so perhaps adding that to the JS API, and on iOS it requires a build flag. https://firebase.google.com/docs/analytics/debugview#enable_debug_mode Related: https://github.com/invertase/react-native-firebase/pull/6778 https://github.com/invertase/react-native-firebase/discussions/6497
Migrate to TypeScript
I'm using the v6 and TS typings are a bit broken. I think migrating the source code to TypeScript could help in many aspects: Immediately catch type errors; More signal, less noise (because a lot of duck typing won't be needed anymore); Self-documenting nature of static typing will make it a lot easier for other people to contribute; Less chances of accidentally breaking things during refactorings. Those are only some of the benefits. There are other less important ones like better IDE experience and not needing to keep separate, unsynced d.ts files. If you think it's a good idea, I may be able to help with PRs.
New Native Ad Format
RNfirebase only supports Native Express Ads which will be deprecated soon. Is there a plan to add the new native format?