- bugfix: remove unused cordova-ios import that breaks projects without ios platform
- Merged from PR #912
- feat(ios): prepare for cordova-ios 8 support - corrected app name
- Merged from PR #896
- (ios) Explicitly allow 8.0.0-beta.1 in cordova-ios version requirements as >=5 does not allow it
- (ios) Gracefully handle missing Podfile when running hook scripts
- (ios) Ensure plist files exist before attempting to access their contents. Gracefully fail if they are missing.
- (ios) Gracefully fail if Google App ID is not found in Google plist
- (ios) fix: ensure IOS_FIREBASE_SDK_VERSION is applied to pre-built Firestore pod version if IOS_USE_PRECOMPILED_FIRESTORE_POD=true
- (ios) Update pinned Firebase SDK versions to v11.4.0
- (android) Update pinned Firebase SDK component versions to BoM v33.6.1 (23 October 2024)
- (iOS & Android) BREAKING change: Notification payloads received while the app is in the background or inactive are now queued by default, instead of delivered immediately to the application.
- This is to ensure the application is ready to receive the notification payload when it is delivered.
- This DOES NOT affect notifications that are tapped on by the user, which are always delivered immediately.
- Merged from PR #902
- (ios) fix: explicitly specify FirebaseCoreExtension version in Podfile so it aligns with other component versions
- (ios) Document and check if SKIP_FIREBASE_FIRESTORE_SWIFT environment variable is set if plugin variable IOS_USE_PRECOMPILED_FIRESTORE_POD is set to true
- (iOS) Document deprecation of
cli_build
branch
- (ios) BREAKING: Update pinned Firebase SDK versions to v11.2.0 and updated related dependencies: GoogleSignIn v7.0.0, GoogleTagManager v8.0.0
- Firebase iOS SDK v11 supports iOS 13+
- BREAKING: drops support for iOS 12 which was supported by Firebase iOS SDK v10
- Resolves #892
- Firebase iOS SDK v11 supports iOS 13+
- (ios) Update to use Google Sign-In SDK v7 signatures.
- Resolves #809
- (ios) bugfix: gracefully handle missing iOS deployment target in Podfile.
- Resolves #868
- (ios) Add support for
IOS_FIREBASE_IN_APP_MESSAGING_VERSION
plugin variable to enable specifying a different version of the InappMessaging SDK component from the other Firebase iOS SDK components - (Android) update: Pin latest Firebase SDK component versions to Bom v33.3.0 as of 12 Sep 2024
- fix: Queue global JS executions if plugin is not yet initialized to prevent calling functions on the plugin JS API before Cordova has loaded the plugin JS namespace.
- Resolves #888
- (Android) update: Pin latest Firebase SDK component versions as of 11 Apr 2024
- (iOS) update: Pin latest Firebase SDK components v10.24.0 as of 9 Apr 2024
- feat: Add unlinkUserWithProvider()
- Based on PR #821
- (android) fix: support minSDK 24+ - remove trailing comma
- Merged from PR #860
- doc: Add information to enable the Analytics debug_mode
- Merged from PR #820
- Add Consent Mode v2
- Merged from PR #878
- (ios) docs: Update IOS_NOTIFICATION_SERVICE.md
- Merged from PR #814
- (doc) Add note about xmlns:android attribute for config.xml Merged from PR #840
- (doc) Clarify how to set plugin variables
- (iOS) fix matching of pod versions so IOS_FIREBASE_SDK_VERSION variable is applied to Podfile.
- Resolves #838
- (iOS) Support optional patch version when specifying iOS deployment target version.
- Resolves #822
- (Android) bugfix: when grantPermission is called on Android 12 or below, ensure success callback is invoked.
- Resolves #819
- (iOS & Android) feat: Implement authenticateUserWithOAuth() to authenticate with OAuth providers
- (ios) Return idToken in credential result when authentication with Apple is successful.
- Partially resolves #857
- (Android) apply FIREBASE_ANALYTICS_WITHOUT_ADS plugin variable to disable AD ID data collection and remove AD ID permission from manifest
- (iOS) build: apply FIREBASE_ANALYTICS_WITHOUT_ADS and IOS_ON_DEVICE_CONVERSION_ANALYTICS plugin variables to plugin.xml using npm post_install script
- (doc) Explain additional step required for post-install plugin variables
- (iOS) feat: Add
initiateOnDeviceConversionMeasurement()
to support on-device conversion measurement- Implements #843
- (iOS) fix: add FirebaseAnalytics pod
- Merged from PR #848
- (iOS) add npm post_install script to apply IOS_USE_PRECOMPILED_FIRESTORE_POD plugin variable to plugin.xml before the plugin config is loaded by Cordova
- (iOS) use product pods for firebase packages
- Merged from PR #811
- (iOS) Fix plugin imports using product-level CocoaPods
- Merged from PR #812
- (Android) Fix ambiguity between bigLargeIcon(Bitmap) and bigLargeIcon(Icon) on API 34
- Merged from PR #836
- (build) Gracefully handle error if read/write package.json fails.
- feat: Add
registerAuthIdTokenChangeListener
to monitor changes in auth ID token.- Resolves #831
- (iOS) update: Pin latest Firebase SDK component version (v10.17.0) as of 30 Oct 2023
- (Android) update: Pin latest Firebase SDK component versions as of 30 Oct 2023
- (iOS) feat: add support for IOS_FCM_ENABLED variable to allow disabling FCM functionality on iOS
- Merged from PR #797
- (types) feat: add support for lastUpdate and created in Firestore operations
- Merged from PR #793
- (iOS) doc: Tutorial to make the necessary configurations to send images in notifications
- Merged from PR #798
- (iOS) Fix foreground notifications not being displayed after calling grantPermission when permissions haven't been previously granted
- Merged from PR #800
- doc: add server side verification documentation to authenticateUserWithGoogle()
- Merged from PR #805
- (iOS) build: Use precompiled FirebaseFirestore on first pod install
- Merged from PR #752
- (iOS) feat: Add registerApplicationDidBecomeActiveListener() and registerApplicationDidEnterBackgroundListener() methods to expose native iOS app delegate methods
- (Android) build: Add support for
cordova-android@12
- use cordova-android config variable version- Merged from PR #807
- (Android) update: Pin latest Firebase SDK component versions as of 01 May 2023
- (iOS) update: Pin latest Firebase SDK component version (v10.10.0) as of 23 May 2023
- (iOS & Android) BREAKING CHANGE: Changed signature of
verifyPhoneNumber()
to pass optional arguments as an object. - (iOS & Android) feat: Add support for multi-factor authentication
- Added
enrollSecondAuthFactor()
,verifySecondAuthFactor()
,listEnrolledSecondAuthFactors()
,unenrollSecondAuthFactor()
,verifyBeforeUpdateEmail()
- Resolves #714
- Added
- (iOS & Android) feat: Add
authenticateUserWithFacebook()
- Resolves #526
- (Android) Update pinned Firebase SDK component versions to BOM v31.1.0 - November 17, 2022
- (iOS) Update pinned version of Firebase SDK to v10.2.0 - November 15, 2022
- BREAKING CHANGE: Minimum supported iOS version is now v11.0 (with Firebase SDK v9 it was v10.0) - see here
- Update pinned versions of Google Sign In and Google Tag Manager libraries to latest to align with Firebase SDK v10
- (iOS) fix: Fix CLI builds with Xcode 14 and Cordova CLI.
- Resolves #766
- (iOS) feat: Add
IOS_GOOGLE_SIGNIN_VERSION
ANDIOS_GOOGLE_TAG_MANAGER_VERSION
plugin vars to enable overriding default pinned versions at plugin install time. - (iOS) feat: Add the authorization code to the credential object returned after authentication via Sign in with Apple
- Merged from PR #761
- (Android) fix: Notification opening app for Android 12
- (Android) feat: Add support for Android push notification localization in foreground notifications
- Merged from PR #772
- (Android) feat: Handle checking/requesting POST_NOTIFICATIONS runtime permission on Android 13+.
- Resolves #777
- (iOS) bugfix: remove openURL delegate that was erroneously re-added by merge error.
- (Android) bugfix: Fix no notifications on Android 12 and above
- (iOS & Android) feat: Add support to optionally specify timestamp when updating documents in a Firestore collection
- Merged from PR #743
- (iOS) bugfix: Use standard pod for Firestore by default but add
IOS_USE_PRECOMPILED_FIRESTORE_POD
plugin variable to switch to using pre-built version.- Resolves #735
- (iOS) feat: add support for
IOS_FIREBASE_SDK_VERSION
plugin variable to override the Firebase iOS SDK versions specified inplugin.xml
- (Doc) bugfix: Fix markdown issue caused by unescaped HTML tags.
- Resolves #707
- (Android) bugfix: Fix null pointer exception when missing notification image
- Merged from PR #709
- (iOS) bugfix: Cordova-compliant external URL handling
- Merged from PR #731
- (iOS & Android) feat: Add support for getClaims
- Merged from PR #723
- (Types) bugfix: Correctly declare FirebasePlugin as global
- (Android) chore: bump pinned Firebase SDK component versions to BOM 30.0.2 (May 19, 2022)
- (iOS) chore: Update Firebase Apple SDK to Version 9.1.0 - May 24, 2022
- Major version increase from v8.1.0 but no breaking changes directly affect this plugin
- (iOS) bugfix: Ensure new FCM token is issued after calling unregister() when autoinit is enabled.
- Resolves #732
- (iOS & Android) feat: Add support for FIREBASE_FCM_AUTOINIT_ENABLED plugin variable to set FCM autoinit on app startup at configuration time
- (iOS) chore: Minor version update to Firebase iOS SDK to latest (Version 8.11.0 - January 18, 2022)
- BREAKING CHANGE: Requires Cocoapods v1.11.2+
- (Android) chore: Update pinned Firebase Android SDK dependencies to latest ((January 25, 2022)[https://developers.google.com/android/guides/releases#january_25_2022])
- (iOS) bugfix: Update to GoogleSignIn v6 and update plugin for breaking API changes.
- Resolves #678
- (Android) bugfix: Fix an error getting the providerId that could cause
getCurrentUser()
to fail.- Merged from PR #706
- (iOS & Android) feat: Include actionCodeSettings in the
sendUserEmailVerification()
function - (iOS) feat: Implement authorization request for critical alerts
- (Types) bugfix: Fix return type for
didCrashOnPreviousExecution
- Merged from PR #692
- (Android) bugfix: Use OAuthProvider when available during
linkUserWithCredential()
- Merged from PR #687
- (Types) bugfix: Add missing type for
authenticateUserWithEmailAndPassword()
- Merged from PR #686
- (iOS & Android) feat: Support Firebase Authentication emulator
- Merged from PR #685
- (Android) feat: Support html attributes in body notifications
- Merged from PR #668
- (Android) feat: Improved notification image support
- Merged from PR #667
- (Doc) bugfix: Fix
setUserProperty
parameters inREADME.md
- Merged from PR #638
- (Android) bugfix: Specify version of GRPC OKHTTP and enable version override via plugin variable and bump Android Gradle build tool versions.
- (Android) bugfix: add
android:exported
element- Merged from PR #702
- (iOS) bugfix: Return user's full name if present in Apple sign in response.
- Resolves #479
- (iOS) Fix
onTokenRefresh
to return FCM token (not installation auth token).- Resolves #637
- (Android): Increment pinned version of Crashlytics Gradle plugin to v2.7.1 to resolve build issues with Gradle v7.
- This resolves build issues with
[email protected]
which defaults to Gradle v7.1.1 - Resolves #643
- This resolves build issues with
- (iOS) Bump pinned Firebase SDK components to v8.4.0 - July 20, 2021
- (Android): Update pinned Firebase Android SDK versions from BoM v28.1.0 to (v28.2.1 - July 09, 2021)
- (iOS) BREAKING CHANGE: Major version update to Firebase iOS SDK from v7 to v8 (Version 8.1.1 - June 11, 2021)
- Remove/replace references to previously-deprecated Firebase IID SDK component which is removed in SDK v8 with Firebase Installations SDK
- (Android) BREAKING CHANGE: Major version update to Firebase Android BOM from v26 to v28 (v28.1.0 - June 03, 2021)
- Remove/replace references to previously-deprecated Firebase IID SDK component which is removed in SDK BOM v28 with Firebase Installations SDK
- Add explicit dependency on deprecated
firebase-iid
because latest versionfirebase-functions:20.0.0
depends on an older version and so causes duplicate class conflicts with latestfirebase-messaging:22.0.0
- (Android) doc: Add note regarding creating new notification channels for each new sound.
- Relates to #560.
- doc: Add note regarding allowed values for
logEvent
- Merged from PR #619.
- (Android) bugfix: Fix sound configuration per channel
- Merged from PR #625.
- (iOS & Android) feature(auth): add idToken on signIn w/ Google response
- Merged from PR #633.
- (iOS) feature: support for
AppNotificationSettingsButton
- Merged from PR #577.
- (iOS) bugfix: Check
content-available
key is present before casting it.- Resolves #624
- (iOS & Android) bugfix: Convert references to their path strings when fetching data from Firestore to avoid crashes due to circular references.
- Resolves #617
- (iOS & Android) feature: Add support for Firebase Installations SDK.
- Resolves #603
- (iOS) feature: Implement Firebase Functions
- Relates to PR #509.
- (iOS) BREAKING CHANGE: Major version update to Firebase iOS SDK from v6 to v7 (v7.8.1 - 12 March 2021)
- Requires
[email protected]
(previously[email protected]
) - Removes
developerModeEnabled
property fromgetInfo()
Remote Config response as this was removed in the latest Firebase SDK - Removes direct channel support for Firebase Messaging as no longer supported by Firebase iOS SDK v7.
- Resolves #561.
- Requires
- (Android) BREAKING CHANGE: Major version update to Firebase Android BOM from v25 to v26 (v26.7.0 - 11 March 2021)
- Removes
developerModeEnabled
property fromgetInfo()
Remote Config response as this was removed in the latest Firebase SDK
- Removes
- (iOS) Bugfix: Fix conflict with cordova-plugin-local-notifications to enable both remote notifications via this plugin and local notifications via that plugin to work simultaneously in the same app.
- (Android) Feature: add support for calling Firebase Functions
- Merged from PR #509.
- (iOS) Bugfix: Add base class to
FirebasePluginMessageReceiverManager
to prevent Xcode build error- Merged from PR #579.
- (Android) Bugfix: Fix GSON serialization of
NaN
values in Firestore- Merged from PR #584.
- (Android) Bugfix: Fix serialization of JSON arrays and objects in
logEvent()
for Analytics- Merged from PR #598.
- (iOS) Bugfix: Fix reading of all Remote Config keys in
getAll()
by falling back if default source is empty. - (iOS) Bugfix: Register notification delegate during didFinishLaunching to ensure notifications are ready when app starts.
- Resolves #542.
- (iOS) Bugfix: Make interaction with firestoreListeners thread-safe.
- Resolves #574.
- (iOS) Bugfix: Ensure traces array is always defined before referencing it.
- Resolves #602.
- (iOS) Bugfix: Gracefully handle sending empty error message to logError.
- Resolves #555.
- (iOS) Bugfix: Gracefully handle errors in fetching token data when returning user info.
- (Android) Bugfix: Gracefully handle errors when attempting to retrieve ID token when fetching current user info.
- Resolves #566.
- (Android) Make Firebase Performance Monitoring Gradle plugin optional (disabled by default) via
ANDROID_FIREBASE_PERFORMANCE_MONITORING
plugin variable due to increased build times/memory usage when it's included. - (Android) Add defensive code in
handleExceptionWithContext()
to prevent app crashes.- Resolves #535.
- (iOS) Fix
setConfigSettings
implementation.- Merged from PR #534.
- (iOS) Check if file contents for
pn-actions.json
exists before attempting to use it. - (Android) Add the Firebase Performance Monitoring Gradle plugin to monitor network traffic.
- Resolves #520.
- (Feature): Add setLanguageCode method for Firebase Auth
- Merged from PR #527.
- (iOS): Bump podspec versions for Firebase iOS SDK to v6.33.0.
- Resolves #530.
- (Android): Bump pinned Firebase SDK dependencies to latest release versions.
- (Types) Export interfaces in types definition.
- Resolves #529.
- (iOS) Set the Sign In with Apple capability based on the
IOS_ENABLE_APPLE_SIGNIN
plugin variable.- Resolves #511.
- (Android & iOS): Bump pinned Firebase SDK component versions to latest releases.
- Added support for
didCrashOnPreviousExecution()
andsetCrashlyticsCustomKey()
- Merged from PR #492.
- (Doc) Clarify requirements for parameters passed to
logEvent()
.- Resolves #491.
- Implement Remote Config v2 API
- Add new methods:
fetchAndActivate()
,resetRemoteConfig()
,getAll()
- BREAKING CHANGE: Change API signature and implementations for
setConfigSettings()
andsetDefaults()
on Android, and implement for iOS. - Resolves #155.
- Add new methods:
- (Android) BREAKING CHANGE: Remove dependency on
cordova-plugin-androidx
andcordova-plugin-androidx-adapter
- Add support for Firestore real-time listeners:
listenToDocumentInFirestoreCollection()
,listenToFirestoreCollection()
,removeFirestoreListener()
- (Types) Update typedef for recent API changes
- (iOS) Set Sign In with Apple entitlement automatically.
- Resolves #485.
- Add
authenticateUserWithEmailAndPassword()
- Resolves #486.
- (iOS) Remove superfluous braces from
FirebasePluginMessageReceiver.h
- Resolves #493.
- Support optional
valueType
parameter when filtering Firestore collections.- Resolves #496.
- (iOS) Add support for foreground and destructive
UNNotificationActionOptions
- Cherrypicked from PR #487
- (iOS) Fix crashes on receiving push notifications on iOS due to delegate chaining.
- Resolves #385.
- Reverts commit 4e9a0f4a1fd4ceb871af40629e1ddf146f287ca8 "co-existence with cordova-plugin-local-notification on iOS"
- Since upon testing, this plugin does not work with
cordova-plugin-local-notification
present in the same project even with this code in place. - And the conflict between the 2 plugins will need to be addressed separately under #230.
- (iOS) Add support for iOS actionable notifications
- Merged from PR #482.
- (Android): Handle task outcomes where task is not successful but exception is null.
- Resolves #473.
- (Android) Add missing Inapp Messaging component.
- Resolves #478.
- (iOS): Bump minimum required Cocoapods version to v1.9.1 due to requirement by Firestore v6.28.1
- (Android) (Bug fix) Fix all cases where task outcomes are being incorrectly handled.
- (iOS) Update remote config to use
activateWithCompletion
instead of deprecatedactivateWithCompletionHandler
for activating remote config. - (iOS) (Bug fix) Use regex to extract cocoapods from stdout when verifying cocoapods version during plugin install.
- Resolves #462.
- (Android, iOS): Support custom locations for Firebase config files
- (iOS): Bump Firebase SDK versions to v6.28.1 to resolve build freeze issue.
- Resolves #460.
- (iOS) Fix regression bug in
getToken()
introduced by 35a2a68e8db3808723c9f2fcb6aa176021f6c77a.- Resolves #456.
- (iOS) Update to use Firebase SDK v6.28.0
- Resolves #453.
- (iOS) Use precompiled pod for Firestore to reduce build times.
- (Android) Fixed regression bug related to default Crashlytics permission.
- See this comment.
- (iOS) Bump pinned Firebase SDK versions to latest 6.27.0
- See release notes
- (Android): Bump Firebase SDK versions to latest for Analytics, Cloud Messaging & Inapp Messaging.
- BREAKING CHANGE: (Android, iOS) Migrate from Fabric Crashlytics SDK to Firebase Crashlytics SDK.
** Based on this commit in PR #432.
** Resolves #335.
** Removes
isCrashlyticsCollectionCurrentlyEnabled()
as it's no longer necessary to manually init Crashlytics and a runtime method exists to enable/disable it. ** For more info see the Firebase Crashlytics SDK upgrade documentation. - (iOS) Fix exception raised if another plugin as already configured Firebase
- Merged from PR #419.
- (iOS) Handle case where LD_RUNPATH_SEARCH_PATHS is an array. Resolves #344.
- (Android, iOS): Avoid collection state getting out of sync & remove restriction to override config defaults.
- Merged from PR #423.
- (iOS) Fix escaping already escaped json.
- (Android): Fix parsing of existing
colors.xml
when it contains multiple existing<color>
to prevent overwriting the existing values.- Resolves #436.
- (Android, iOS): Return success/failure result when subscribing/unsubscribing from topics.
- Resolves #422.
- (Android) Fix retrieval of auth provider ID - see here for more info
- (iOS) Align retrieval of auth provider ID with Android.
- (Typing): correct return type of a method
- Merged from PR #390.
- (Documentation) Update guidance and requirements when opening issues
- (iOS): Fix escaping of line endings in multi-line log messages being sent from native iOS implementation to JS console.
- Resolves #401.
- (iOS): Set shouldEstablishDirectChannel via a plugin variable which defaults to false. Resolves #406.
- Bump androidx plugin version dependencies. Resolves #418.
- (iOS): Bump Firebase SDK components to v6.23.0.
- (Android) Bump Firebase SDK (and other Gradle dependencies) to latest versions.
- (Android & iOS) BREAKING CHANGE: Add support for filters to
fetchDocumentInFirestoreCollection()
- BREAKING CHANGE to function signature.
- Merged from PR #367.
- (Android & iOS) Add
reloadCurrentUser()
- (Doc)
createChannel()
suggestion for multiple sounds- Merged from PR #225.
- (iOS) Implement
getInfo()
for iOS.- Merged from PR #363.
- (Android & iOS) Add
signInUserWithCustomToken()
ANDsignInUserAnonymously()
auth methods- Merged from PR #359.
- (Android): Don't display app icon for large notification icon on Android. Resolves #343.
- (Android & iOS) Sign out of Google signing out of Firebase. Resolves #353.
- (Android & iOS) Add
documentExistsInFirestoreCollection()
and fix resolution offetchDocumentInFirestoreCollection()
.
- Re-add Firebase Inapp Messaging SDK component to master branch.
- Document
cli_build
branch. See #326.
- BREAKING CHANGE: Change method signature of
setCrashlyticsCollectionEnabled()
to(enabled, success, error)
(from()
) to allow enabling/disabling of Crashlytics at runtime and align it withsetPerformanceCollectionEnabled()
andsetAnalyticsCollectionEnabled()
- Add
isCrashlyticsCollectionEnabled()
andisCrashlyticsCollectionCurrentlyEnabled()
to respectively check if persistent Crashlytics setting is enabled and if Crashlytics is enabling during the current app session. - Add
isAnalyticsCollectionEnabled()
andisPerformanceCollectionEnabled()
to check if persistent settings are enabled. - BREAKING CHANGE: Remove Firebase Inapp Messaging SDK component due to causing Cordova CLI build issues.
- Resolves #326.
- (iOS) Override CDVPlugin class abstract method
handleOpenURL
instead of implementing app delegate methodapplication:openURL:options
to prevent conflicts with other plugins.- Resolves #328.
- (Android) Fix parsing of existing
colors.xml
when it only contains a single<color>
to prevent overwriting the existing value.- Fixes #284.
- (Doc) Document custom FCM message handling.
- (Doc) Rationalise heading levels.
- (iOS) Implement message receiver mechanism (equivalent to existing Android mechanism) to enable custom handling of specific message types.
- (Android) Extend custom receiver to handle payload obtained from system notification message bundle received while in background/not running.
- (Android) Ignore invocation of auth state change listener at app start (same as on iOS) to prevent error due to race condition with plugin initialisation.
- Add support for Firebase inapp messaging
- Merged from PR #312.
- Add support for Firestore realtime database. Resolves #190.
- (Doc) Add note regarding persistence of data collection settings. Resolves #315.
- (iOS) Added missing Google Tag Manager Pod for iOS.
- Merged from PR #318.
- (iOS) Don't set
FirebaseScreenReportEnabled=false
in app list whenFIREBASE_ANALYTICS_COLLECTION_ENABLE=false
. Resolves #317. - (Android) Disable strict version check in Google Services plugin for Gradle as it causes erroneous build failures.
- Add
registerAuthStateChangeListener()
to support invocation of a callback function on the Firebase Authentication state changing. Resolves #311. - (Android) Bump Firebase SDK dependency versions to latest releases. Resolves #279.
- (iOS) Bump podspec versions for Firebase SDK components to latest release (v6.17.0)
- BREAKING CHANGE: Rework
verifyPhoneNumber()
to preserve and reference the native credentials object (rather than attempting to extract and parse its properties to JS). Fixes #176. - Add other Firebase Authentication methods: Google Sign In, Sign In with Apple, email/password sign in, and authentication utility methods. Partially resolves #208.
- (Android) Add check
google-services
plugin does not already exist. Fixes #282. - (iOS) Update pinned Firebase SDK versions to latest v6.13.0. Resolves #232.
- (Android) Fix error caused by local variable
- Merged from PR #229.
- (iOS Hook) Fix retrieving Xcode project path
- Merged from PR #234.
- (Android) Check google-services plugin doesn't already exist in Gradle script
- Merged from PR #281.
- (Android) Replace references to cordovaActivity with applicationContext when app is not running and therefore cordovaActivity doesn't exist. Resolves #165.
- Fix .forEach is not a function. Merged from PR #219. Resolves #213.
- (Android) Parse this plugin's
plugin.xml
to extract default values for plugin variables not explicitly set at plugin install time. Fixes #218. - (iOS) Fix after_prepare hook to run on multiple platforms so if they are added in one operation using
cordova prepare
, both platforms are processed. Fixes #221. - (Typedef) Update the typedef for recent plugin API changes.
- (iOS) Update Firebase SDK to v6.11.0 released 22 Oct 2019
- (Android) Update pinned Firebase SDK versions to latest as of 25 Oct 2019 Resolves #207
- (Doc) Document parameter types in API functions. Resolves #140
- (Doc) fix
onMessageReceived()
code sample. Merged from PR #142. - (Doc) Example sound name for custom Android notification sound. Resolves #160
- (Feat): add Typescript declaration Merged from PR #166.
- (Doc) Fix
createChannel()
examples. Merged from PR #167. - (Android) Expose
description
notification channel field. Merged from PR #168. - (iOS) Update CocoaPods spec url to new CDN. Merged from PR #173.
- (Doc) Fix code example for default android icon. Merged from PR #174.
- (iOS) Support iOS 13 APNS format token change. Merged from PR #177.
- (Hook) Remove check for presence of platform in
config.xml
Merged from PR #185. - (Feat) Expose Firebase Messaging autoinit API functions to allow enabling/disabling/checking of autoinit.
- If disabled and
unregister()
is called, a new token will not be automatically allocated. - Resolves #147.
- If disabled and
- (iOS) Fix
logEvent()
so it doesn't generated warning message in console. Fixes #154. - (iOS) Handle notification messages that contain
"content-available":1
which wakes up the app while in the background to deliver the message payload immediately when the message arrives (without requiring user interaction by tapping the system notification). Fixes #158. - (Android)(Do) Clarify Android custom notification icons example. Resolves #183.
- (Doc) Add example of using stacktrace.js with
logError()
. Clarifies #118. - (Doc) Add link to cordova-plugin-firebasex-ionic3-test Ionic 3 example project
- Add
signInWithCredential()
to sign user into Firebase account andlinkUserWithCredential()
to link user account with credentials obtained viaverifyPhoneNumber()
. - (Android) BREAKING CHANGE Rework
verifyPhoneNumber()
- Remove redundant
verified
in returned credentials object. - Support mocking of instant verification for
verifyPhoneNumber()
on Android for integration testing.
- Remove redundant
- (iOS) BREAKING CHANGE Rework
verifyPhoneNumber()
- Return the same credential object structure as Android.
- (iOS) Add
SETUP_RECAPTCHA_VERIFICATION
plugin variable to automatically set up reCAPTURE verification for phone auth. - (Doc) Add section to explicitly document all supported plugin variables.
- (iOS) Add
onApnsTokenReceived()
to register a callback function to be invoked when the APNS token is allocated. Resolves #201. - (Android) Tweak default empty values when sending stacktrace using
logError()
- (Doc) Better example of using
logError()
to track unhandled JS exceptions vs logging a non-fatal logical error. - (iOS) Modify
logError()
to send stacktrace.js output as an actual stacktrace instead of custom keys. Resolves #118. - (Hook) Fix parsing of
config.xml
to extract app name. Fixes #139. - (Android) Ensure functions which return a boolean result return an actual boolean type rather than a binary integer. Fixes #153.
- (Hook) Rework hook scripts to:
- (iOS) Add
getAPNSToken()
plugin API method to get the APNS token on iOS. Derived from merging PR #100. - Merge PR #103 - fix for app name containing an ampersand.
- Merge PR #115 - fix for short attribute in app name.
- Merge PR #121 - fixes missing resolution of promise in after_prepare hook which caused other plugins to not run their after_prepare script (a bug introduced in v6.0.7)
- (Android) Merge PR #64 - replace Android hooks scripts to configure Gradle with actual Gradle configuration.
- (iOS) Add missing
tap
property for notification messages received while app is running in background.- Based on arnesson#1104
- Resolves #96
- (iOS) Fix issues causing foreground notifications not to display on first run. Fixes #109.
- (iOS) Update string format when subscribing/unsubscribing topics. Resolves #110.
- Support disabling of data collection (analytics/performance/crashlytics) at app startup and manual enabling of these at runtime.
- Remove Android implementation of
getBadgeNumber()
/setBadgeNumber()
as it doesn't work on Android 8+.- Resolves #124.
- Merge PR #93: Update Fabric dependencies
- Port code to apply IOS_STRIP_DEBUG plugin variable to Podfile into this plugin's hook scripts (from cordova-plugin-cocoapod-supportx).
- Fixes #89.
- Fix parameter type passed to hasPermission success callback for Android. Fixes #83.
- Fix
hasPermission()
to return boolean result on Android (same as iOS).- Update docs to flag this as a breaking change from
cordova-plugin-firebase
. - Resolves #81.
- Update docs to flag this as a breaking change from
- Replace dependency on
cordova-lib
withxml2js
. - (iOS) Restore placeholder GoogleService-Info.plist.
- Partially reverts a9c66746ca3592f0eec217f7701d5835f33b43c5
- See #74
- (iOS) Handle and report native logical errors.
- (iOS) If grantPermission() is called when permission is already granted, return an error (rather than attempting to grant permission again which causes issues).
- See #61
- (iOS) Run badge number operations on UI thread (instead of background thread).
- Resolves #72
- (iOS) Handle situation where value of sound is not an NSString.
- See #61
- (iOS) Add try/catch handlers at all code entry points to handle unexpected exceptions in order to prevent app crashes. Log native exceptions to native and JS consoles.
- See #61
- Remove
google-services.json
andGoogleService-Info.plist
placeholders.- See #63
- (Android) Improved exception handling to prevent app crashes due to plugin exceptions. Document caveats of received message payload when notification message is received while app is not running on Android. Further resolves #52.
- (Android) Expose notification message properties in message object sent to onMessageReceived(). Ensure message is always sent to onMessageReceived(), regardless if it was tapped. Resolves #52.
- BREAKING CHANGES
onMessageReceived()
is now called when a message is received (data or notification) AND when a system notification is tapped (whether app is running or not)- Resolves #48.
- The
tap
parameter passed toonMessageReceived()
is only set if a system notification is tapped- If the system notification was tapped while the app is running in the foreground, the value will be
tap: "foreground"
- If the system notification was tapped while the app is not running / in the background, the value will be
tap: "background"
- If the system notification was tapped while the app is running in the foreground, the value will be
- BREAKING CHANGES
onNotificationOpen()
renamed toonMessageReceived()
- Changed key names for custom notification properties in FCM data messages to display system notifications in foreground.
- Message payload is always delivered to
onMessageReceived()
for both data and notification messages. messageType
key indicates type of FCM message:notification
ordata
tap
is only set whenmessageType
isnotification
- Explicit dependency on
cordova-plugin-androidx-adapter
since Android implementation uses AndroidX so is incompatible with Android Support Library. - Set
remote-notification
background mode in native Xcode project for iOS. - Reworked plugin documentation.
- Support customisable display of system notifications while app is in foreground for both notification and data messages (both Android & iOS).
- Set default color accent and notification channel for FCM notifications.
- Add support for default and custom notification channels for Android 8+
- Customise importance, visibility, LED light, badge number, notification sound and vibration pattern
- Calling
logError()
on Android now also logs to native logcat (as well as a non-fatal error to remote Crashlytics service). - Fix
logError()
on iOS to log non-fatal error to remote Crashyltics service. - Implement stubs for
hasPermission()
andgrantPermission()
on Android so they both return true in to the success callback. - Rationalise permission check/request on iOS.
- Remove legacy support for iOS 9 and below.
- Support overridable default color accent for Android notification icons via
ANDROID_ICON_ACCENT
plugin variable.
- BREAKING CHANGE: set min supported versions to
cordova@9
andcordova-ios@5
.- Drop dependency on cordova-plugin-cocoapodsx to install pod dependencies.
- Instead update plugin.xml to use podspec formatting as required by cordova-ios@5.
- Remove iOS plugin variables as these are not (currently) supported by cordova-ios@5
- Resolves #22.
- [iOS] Add support for stripping debug symbols for libraries included via Cocoapods. Resolves #28.
- [iOS] Ensure runpath search path contains
$(inherited)
to avoid build warnings/issues. Resolves #25.
- Update iOS to Firebase SDK v6.3.0 (from v5.20.2) - major version increment so update source code for breaking changes to API. Resolves #9.
- Add support for NDK crashlytics on Android. Resolves #17.
- Bump min version of cordova-plugin-cocoapod-supportx to 1.7.2 which fixes bug when using a plugin variable to specify the
ios-min-version
in<pods-config>
- Bump min version of cordova-plugin-cocoapod-supportx to 1.7.1 which supports using a plugin variable to specify the
ios-min-version
in<pods-config>
- Implement didReceiveRegistrationToken delegate for iOS. Resolves #16.
- Document dependency on Cocoapods. Resolves #15.
- Make min iOS version configurable. Resolves #14.
- Update legacy Xpath reference to
<application>
element inAndroidManifest.xml
- Bump default iOS Firebase SDK version to 5.20.2 (https://firebase.google.com/support/release-notes/ios#version_5202_-_april_10_2019). Resolves #8.
- Reapply: Support user-overriding of default Android Gradle & iOS Cocoapods versions using plugin variables.
- Revert: Support user-overriding of default Android Gradle & iOS Cocoapods versions using plugin variables.
- Since it's not working on iOS due to Cocoapods plugin dependency.
- Need to fix that plugin to handle plugin variables then reinstate this change in a major version release.
- Support user-overriding of default Android Gradle & iOS Cocoapods versions using plugin variables.
- Update Android source to use AndroidX class names and adds dependency on cordova-plugin-androidx for forward compatibility with future versions of Firebase libraries on Android.
- Note: if you include other plugins in your project which reference the legacy Android Support Library, you'll still need to include cordova-plugin-androidx-adapter in your project to dynamically patch them.
- Pins Firebase and Crashlytics Gradle dependencies to latest major version (to prevent build failures due to unexpected changes in subsequent major versions).
- Set minimum supported versions to
cordova@8+
,cordova-android@8+
,cordova-ios@4+
.
- Use Cocoapods to satisfy iOS Firebase SDK (rather than bundling with plugin). See arnesson#972.
- Add support for logMessage() and sendCrash() functions (ported from cordova-fabric-plugin)
- Bump version of Crashlytics library on Android to current latest (v2.9.8 - Dec 2018)
- Bump Firebase SDK versions in iOS PodSpecs to latest version (v5.15.0)
- Remove redundant build-extras.gradle
- Set minimum iOS version to 9.0 in podspec
- Remove unnecessary extra block which can lead to race condition
- Fixes issues cause by Firebase SDK updates on 5 April 2019 (https://firebase.google.com/support/release-notes/android#update_-_april_05_2019) which removed deprecated API features causing Android build failures. See https://github.com/arnesson/cordov
- Fix compatibility with cordova@9 CLI
- Add explicit dependency on cordova-lib to prevent build error on iOS. Fixes #2.
---> FORKED FROM cordova-plugin-firebase
AS cordova-plugin-firebasex
<---
- #897: Fixed issue with after_prepare hook not copying required files
- #866: Fixed issue with loading .plist file on some iOS devices
- #874: Added new api
setCrashlyticsUserId
which allows setting Crashlytics user identifier - #861: Updated
verifyPhoneNumber
api on android to add the following properties to the returned object:code
- sms codeverified
- whether or not the verification was successful
- #869: Replace add/remove hooks with install/uninstall hooks to ensure proper configuration of the plugin
- #870: Add error handling to
fetch
api on iOS
- #837: Fixed android build
- #796: Update Firebase SDK Version to 5.x
- #822: Can't use initFirebase() on 1.1.3 [Firebase isn't initialized]
- #827: doc missing: initFirebase call needed before anything
- #824: Removed initRemoteConfig method
This version has been deprecated due to complications with PR #784
This version has been deprecated due to complications with PR #784
This version has been deprecated due to complications with PR #784
This version has been deprecated due to complications with PR #784
This version has been deprecated due to complications with PR #784
To force cordova to use this version, add the following to your project's config.xml:
<plugin name="cordova-plugin-firebase" spec="1.0.5" />
or by running:
cordova plugin add [email protected] --save