This plugin brings push notifications, analytics, event tracking, crash reporting and more from Google Firebase to your Cordova project!
- Prerequisites
- Difference from the fork repository
- Confirm your Cordova environment versions
- Major Releases
- Installation & Setup
- Docs
- Android Studio
- Check more here at https://firebase.google.com/docs/android/setup#prerequisites
- Xcode 10.1 or later.
- CocoaPods 1.4.0 or later.
- Check more here at https://firebase.google.com/docs/ios/setup#prerequisites
Maintained by Wiz Panda.
The author did a great job on the plugin. But seems not to be maintaining the changes. So we at Wiz Panda thought to maintain the repository with the latest changes & fixes so the others can take benefit of the Firebase in their cordova application. To see a full list of changes done after we started maintaining this fork, please see the Releases or read the CHANGELOG.md
Before you continue installing this plugin, please confirm your Cordova environment versions. You can either get everything by just running:
cordova info
Or grab it manually:
- For
cordova-cli
&cordova-lib
, runcordova -v
. It should be something like:9.0.0 (cordova-lib@9.0.1)
- For
cordova-android
, check the version in yourconfig.xml
. It should be like:<engine name="android" spec="7.1.4" />
- For
cordova-ios
, check the version in sameconfig.xml
. It should be like:<engine name="ios" spec="4.5.5" />
In the last week from Jun 17, 2019 to Jun 25, 2019, we released three major versions of this plugin so that developers across the globe,
who are using different versions of cordova-lib
, cordova-android
& cordova-ios
can use different version of this plugin without
needing to upgrade these 3 dependencies immediately. So here are the three major releases of this plugin:
- CocoaPods is used to manage Firebase dependencies for iOS. We don't need
cordova-plugin-cocoapod-support
becausecordova-cli 9.x
has better support of handling CocoaPods dependencies.
- cordova-cli:
>= 9.0.0
- cordova-lib:
>= 9.0.0
(Will be used automatically bycordova-cli
) - cordova-android:
>= 8.0.0
- cordova-ios:
>= 5.0.1
- Minimum
v8.0.0
ofcordova-android
is now required. View #13 for details. - Using latest versions of Firebase Android dependencies.
- cordova:
>= 8.0.0
- cordova-lib:
>= 8.0.0
(Will be used automatically bycordova-cli
) - cordova-android:
>= 8.0.0
- cordova-ios:
>= 4.5.5
- Using last released Firebase Android dependencies which was released before Jun 17, 2019.
- cordova:
>= 7.0.0
- cordova-android:
>= 7.0.0
(Might work oncordova-android 6.x
versions) - cordova-ios:
>= 4.5.5
(Might work on oldcordova-ios
versions)
If you are using the original firebase plugin, remove it first:
rm -rf platforms/android
cordova plugin remove cordova-plugin-firebase
For cordova-cli >= 9.x.x
&& (cordava-ios >= 5.0.1
|| cordava-android >= 8.x.x
)
Use the latest major releases just by running:
cordova plugin add cordova-plugin-firebase-lib
For cordova-cli <= 8.1.1
&& (cordava-ios <= 4.5.5
|| cordova-android >= 8.x.x
)
Use the v4.x release by running:
cordova plugin add cordova-plugin-firebase-lib@4.1.0 --save
For cordova-cli <= 7.1.0
&& (cordava-ios <= 4.5.5
|| cordova-android <= 7.1.4
)
Run the following in your terminal:
cordova plugin add cordova-plugin-firebase-lib@3.3.0 --save
Because of the major breaking release by Google Firebase on Jun 17, 2019 this plugin has been migrated to use AndroidX. AndroidX is a major improvement to the original Android Support Library.
If any of your Cordova app includes any plugin which is still using legacy Android Support Library, then installing this plugin might break your build. For that install the following plugins:
cordova plugin add cordova-plugin-androidx
cordova plugin add cordova-plugin-androidx-adapter
- Great installation and setup guide https://medium.com/@felipepucinelli/how-to-add-push...
Download your Firebase configuration files:
GoogleService-Info.plist
for iOS andgoogle-services.json
for Android
And place them in the root folder of your Cordova app. Check out this firebase article for details on how to download the files.
- my-cordova-project/
platforms/
plugins/
www/
config.xml
google-services.json <--
GoogleService-Info.plist <--
...
- This plugin uses a hook (after prepare) that copies the configuration files to the right place, namely
platforms/ios/my-cordova-project/Resources
for iOS andplatforms/android
for Android. - Firebase SDK requires the configuration files to be present and valid, otherwise your app will crash on boot or Firebase features won't work.
Hooks do not work with PhoneGap Build. This means you will have to manually make sure the configuration files are included. One way to do
that is to make a private fork of this plugin and replace the placeholder config files (see src/ios
and src/android
) with your
actual ones, as well as hard coding your app id and api key in plugin.xml
.
Your build may fail if you are installing multiple plugins that use Google Play Services. This is caused by the plugins installing different versions of the Google Play Services library. This can be resolved by installing cordova-android-play-services-gradle-release.
If your build is still failing, you can try installing cordova-android-firebase-gradle-release.
For more info, read the following comment
about locking down the specific versions for play services and firebase. It is suggested to use +
instead of 15.+
to ensure the correct versions are used.
See the full API docs available for this plugin.
Checkout our guide for info on setting up Google Tag Manager.
Checkout our guide for info on configuring notification icons and colors.