with-rn-firebase v0.3.2
Expo with-react-native-firebase
An Expo config plugin for paineless setup of react-native-firebase, without touching any native code!
You can learn more about it here:
- Config Plugins - Expo docs
- Expo Managed Workflow in 2021: part 1, part 2
- How to integrate
react-native-firebasewith Expo
📛 Deprecated
Since React Native Firebase 12.4.0 this plugin is deprecated in favor of built-in plugins. Learn more here.
If you're using @react-native-firebase/app@12.3.0 or older, you may still want to use this plugin.
Installation
Prerequisites:
- App project using Expo SDK 41+.
- Installed
expo-cli@4.4.4or later. - Installed
react-native-firebaseJavaScript libraries:yarn add @react-native-firebase/app yarn add @react-native-firebase/firestore # ...
With expo install
expo install with-rn-firebaseWithout expo install
# using yarn
yarn add with-rn-firebase
# using npm
npm install with-rn-firebaseOpen your app.json and update your plugins section (expo install would do it for you):
{
"plugins": ["with-rn-firebase"]
}Configuration
The plugin needs to know the location of your app's Google Services files generated by Firebase. By default, it searches for them in <project-root>/firebase directory, but you can put them in any location. You can configure it by setting plugin properties in app.json:
{
"plugins": [
[
"with-rn-firebase",
{
"androidGoogleServicesPath": "./firebase/google-services.json",
"iosGoogleServicesPath": "./firebase/GoogleServices-Info.plist"
}
]
]
}The paths should be relative to your project root.
The plugin can also resolve them from traditional Expo config values expo.[ios|android].googleServicesFile. Be aware that these values are also used by built-in Expo plugins, which shouldn't, but in extreme cases may interfere with this plugin.
Other configuration options
In order to install Performance Monitoring on Android, set androidOptions.installPerfMonitoring to true:
{
"plugins": [
[
"with-rn-firebase",
{
//...
"androidOptions": {
"installPerfMonitoring": true
}
}
]
]
}In order to install Crashlytics on Android, set androidOptions.installCrashlytics to true:
{
"plugins": [
[
"with-rn-firebase",
{
...
"androidOptions": {
"installCrashlytics": true
}
}
]
]
}Building and running
You can either:
- use
expo prebuildorexpo run:android/expo run:iosto update your native projects, - use EAS Build to build your development client.
Contributing
Contributions are very welcome! The package uses expo-module-scripts for most tasks. You can find detailed information at this link.
Please make sure to run yarn build/yarn rebuild to update the build directory before pushing. The CI will fail otherwise.
Credits
- the Expo team
License
MIT