Jump to top

Reference API

Page containing the full index of all React Native Firebase reference API types. All reference pages are automatically generated from the TypeScript ambient declaration files found in the GitHub repository.

All contributions to help improve the TypeScript implementation of the library are welcome!

analytics

APITypeDescription
analytics
interface

The Firebase Analytics service interface.

AddPaymentInfoEventParameters
interface
AddShippingInfoEventParameters
interface
AddShippingInfoParameters
interface
AddToCartEventParameters
interface
AddToWishlistEventParameters
interface
AnalyticsCallOptions
interface

Additional options that can be passed to Analytics method calls such as logEvent. Web only.

AnalyticsSettings
interface

Analytics instance initialization options. Web only.

BeginCheckoutEventParameters
interface
CampaignDetailsEventParameters
interface
ConsentSettings
interface

Consent status settings for each consent type. For more information, see {@link https://developers.google.com/tag-platform/tag-manager/templates/consent-apis | the GA4 reference documentation for consent state and consent types}.

EarnVirtualCurrencyEventParameters
interface
EventParams
interface

Standard gtag.js event parameters. For more information, see the GA4 reference documentation. Web only.

GenerateLeadEventParameters
interface
GtagConfigParams
interface

A set of common Google Analytics config settings recognized by gtag.js. Web only.

Item
interface
JoinGroupEventParameters
interface
LevelEndEventParameters
interface
LevelStartEventParameters
interface
LevelUpEventParameters
interface
LoginEventParameters
interface
PostScoreEventParameters
interface
PurchaseEventParameters
interface
RefundEventParameters
interface
RemoveFromCartEventParameters
interface
ScreenViewParameters
interface
SearchEventParameters
interface
SelectContentEventParameters
interface
SelectItemEventParameters
interface
SelectPromotionEventParameters
interface
SettingsOptions
interface

Specifies custom options for your Firebase Analytics instance. You must set these before initializing firebase.analytics().

ShareEventParameters
interface
SignUpEventParameters
interface
SpendVirtualCurrencyEventParameters
interface
UnlockAchievementEventParameters
interface
ViewCartEventParameters
interface
ViewItemEventParameters
interface
ViewItemListEventParameters
interface
ViewPromotionEventParameters
interface
ViewSearchResultsParameters
interface

app-check

APITypeDescription
app-check
interface

The Firebase App Check service is available for the default app or a given app.

AppCheckOptions
interface

Options for App Check initialization.

AppCheckProvider
interface

An App Check provider. This can be either the built-in reCAPTCHA provider or a custom provider. For more on custom providers, see https://firebase.google.com/docs/app-check/web-custom-provider

AppCheckToken
interface

The token returned from an AppCheckProvider.

AppCheckTokenResult
interface

Result returned by getToken().

ReactNativeFirebaseAppCheckProvider
interface
ReactNativeFirebaseAppCheckProviderAndroidOptions
interface
ReactNativeFirebaseAppCheckProviderAppleOptions
interface
ReactNativeFirebaseAppCheckProviderOptions
interface
ReactNativeFirebaseAppCheckProviderWebOptions
interface

app-distribution

APITypeDescription
app-distribution
interface

The Firebase AppDistribution service interface.

AppDistributionRelease
interface

The release information returned by the update check when a new version is available.

auth

APITypeDescription
FactorId
enum

Identifies the type of a second factor.

auth
interface

The Firebase Authentication service is available for the default app or a given app.

ActionCodeInfo
interface

The interface returned from a auth#checkActionCode call.

ActionCodeInfoData
interface

Additional data returned from a auth#checkActionCode call. For the PASSWORD_RESET, VERIFY_EMAIL, and RECOVER_EMAIL actions, this object contains an email field with the address the email was sent to. For the RECOVER_EMAIL action, which allows a user to undo an email address change, this object also contains a fromEmail field with the user account's new email address. After the action completes, the user's email address will revert to the value in the email field from the value in fromEmail field.

ActionCodeSettings
interface

Options to be sent with requests such as User#sendEmailVerification.

ActionCodeSettingsAndroid
interface

Android specific options which can be attached to the ActionCodeSettings object to be sent with requests such as User#sendEmailVerification.

ActionCodeSettingsIos
interface

iOS specific options which can be attached to the ActionCodeSettings object to be sent with requests such as User#sendEmailVerification.

AdditionalUserInfo
interface

A structure containing additional user information from a federated identity provider via UserCredential.

AuthCredential
interface

Interface that represents the credentials returned by an auth provider. Implementations specify the details about each auth provider's credential requirements.

AuthProvider
interface

Interface that represents an auth provider. Implemented by other providers.

AuthSettings
interface

Interface for module auth settings.

ConfirmationResult
interface

A result from a auth#signInWithPhoneNumber call.

EmailAuthProvider
interface

Email and password auth provider implementation.

IdTokenResult
interface

Interface representing ID token result obtained from User#getIdTokenResult. It contains the ID token JWT string and other helper properties for getting different data associated with the token as well as all the decoded payload claims.

MultiFactor
interface

Holds information about the user's enrolled factors.

MultiFactorAssertion
interface
MultiFactorInfo
interface

Contains information about a second factor.

MultiFactorResolver
interface

Facilitates the recovery when a user needs to provide a second factor to sign-in.

MultiFactorSession
interface
MultiFactorUser
interface

The entry point for most multi-factor operations.

NativeFirebaseAuthError
interface
OIDCProvider
interface

Interface that represents an Open ID Connect auth provider. Implemented by other providers.

PhoneAuthError
interface

A custom error in the event verifying a phone number failed.

PhoneAuthListener
interface

The listener function returned from a auth#verifyPhoneNumber call.

PhoneAuthSnapshot
interface

A snapshot interface of the current phone auth state.

PhoneAuthState
interface
PhoneMultiFactorEnrollInfoOptions
interface
PhoneMultiFactorGenerator
interface
PhoneMultiFactorSignInInfoOptions
interface
UpdateProfile
interface

Request used to update user profile information.

User
interface

Represents a user's profile information in your Firebase project's user database. It also contains helper methods to change or retrieve profile information, as well as to manage that user's authentication state.

UserCredential
interface

A structure containing a User, an AuthCredential, the operationType, and any additional user information that was returned from the identity provider. operationType could be 'signIn' for a sign-in operation, 'link' for a linking operation and 'reauthenticate' for a re-authentication operation.

UserInfo
interface

Represents a collection of standard profile information for a user. Can be used to expose profile information returned by an identity provider, such as Google Sign-In or Facebook Login.

UserMetadata
interface

Holds the user metadata for the current User.

AuthListenerCallback
alias

An auth listener callback function for auth#onAuthStateChanged.

OAuthProvider
alias
getMultiFactorResolver
alias

Try and obtain a #MultiFactorResolver instance based on an error. Returns null if no resolver object could be found.

multiFactor
alias

Return the #MultiFactorUser instance for the current user.

crashlytics

APITypeDescription
crashlytics
interface

The Firebase Crashlytics service interface.

database

APITypeDescription
database
interface

The Firebase Database service is available for the default app or a given app.

DataSnapshot
interface

A DataSnapshot contains data from a Database location.

OnDisconnect
interface

The onDisconnect class allows you to write or clear data when your client disconnects from the Database server. These updates occur whether your client disconnects cleanly or not, so you can rely on them to clean up data even if a connection is dropped or a client crashes.

Query
interface

A Query sorts and filters the data at a Database location so only a subset of the child data is included. This can be used to order a collection of data by some attribute (for example, height of dinosaurs) as well as to restrict a large list of items (for example, chat messages) down to a number suitable for synchronizing to the client. Queries are created by chaining together one or more of the filter methods defined here.

Reference
interface

A Reference represents a specific location in your Database and can be used for reading or writing data to that Database location.

ServerValue
interface

The ServerValue interface provides access to Firebase server values.

TransactionResult
interface
EventType
alias
ThenableReference
alias

dynamic-links

APITypeDescription
ShortLinkType
enum

ShortLinkType determines the type of dynamic short link which Firebase creates. Used when building a new short link via buildShortLink(). These are exported through statics connected to the module.

dynamic-links
interface

The Firebase Dynamic DynamicLinks service is available for the default app only.

DynamicLink
interface

A received Dynamic Link from either onLink or getInitialLink.

DynamicLinkAnalyticsParameters
interface

The DynamicLinkAnalyticsParameters interface provides functionality to add Google Analytic based parameters to a dynamic link.

DynamicLinkAndroidParameters
interface

The DynamicLinkAndroidParameters interface provides functionality to configure the behaviour of dynamic links for Android devices.

DynamicLinkIOSParameters
interface

The DynamicLinkIOSParameters interface provides functionality to configure the behaviour of dynamic links for iOS devices.

DynamicLinkITunesParameters
interface

The DynamicLinkITunesParameters interface provides functionality to add iTunes Connect Analytics based parameters to the created dynamic link.

DynamicLinkNavigationParameters
interface

The DynamicLinkNavigationParameters interface provides functionality to specify how the navigation of the created link is handled.

DynamicLinkOtherPlatformParameters
interface

The DynamicLinkOtherPlatformParameters interface provides functionality to open a custom URL on platforms beside Android and iOS. This is useful to specify a different behavior on desktop, like displaying a full web page of the app content/payload (as specified by param link) with another dynamic link to install the app.

DynamicLinkParameters
interface

The DynamicLinkParameters interface provides access to the Dynamic Link builder classes used to configure a created link.

DynamicLinkSocialParameters
interface

The DynamicLinkSocialParameters interface provides functionality to add additional social meta-data to the URL.

firestore

APITypeDescription
AggregateField
interface

Represents an aggregation that can be performed by Firestore.

Blob
interface

An immutable object representing an array of bytes.

FieldPath
interface

A FieldPath refers to a field in a document. The path may consist of a single field name (referring to a top-level field in the document), or a list of field names (referring to a nested field in the document).

FieldValue
interface

Sentinel values that can be used when writing document fields with set() or update().

GeoPoint
interface

An immutable object representing a geo point in Firestore. The geo point is represented as latitude/longitude pair.

firestore
interface

The Firebase Cloud Firestore service is available for the default app or a given app.

Timestamp
interface

A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time.

AggregateQuery
interface

The results of requesting an aggregated query.

AggregateQuerySnapshot
interface

The results of executing an aggregation query.

AggregateSpec
interface

A type whose property values are all AggregateField objects.

CollectionReference
interface

A CollectionReference object can be used for adding documents, getting document references, and querying for documents (using the methods inherited from Query).

DocumentChange
interface

A DocumentChange represents a change to the documents matching a query. It contains the document affected and the type of change that occurred.

DocumentData
interface

A DocumentData object represents the data in a document.

DocumentReference
interface

A DocumentReference refers to a document location in a Firestore database and can be used to write, read, or listen to the location. The document at the referenced location may or may not exist. A DocumentReference can also be used to create a CollectionReference to a subcollection.

DocumentSnapshot
interface

A DocumentSnapshot contains data read from a document in your Firestore database. The data can be extracted with .data() or .get(:field) to get a specific field.

FilterFunction
interface

The Filter functions used to generate an instance of Filter.

GetOptions
interface

An options object that configures the behavior of get() calls on DocumentReference and Query. By providing a GetOptions object, these methods can be configured to fetch results only from the server, only from the local cache or attempt to fetch results from the server and fall back to the cache (which is the default).

LoadBundleTaskProgress
interface

Represents a progress update or a final state from loading bundles.

Query
interface

A Query refers to a Query which you can read or listen to. You can also construct refined Query objects by adding filters and ordering.

QueryCompositeFilterConstraint
interface
QueryDocumentSnapshot
interface

A QueryDocumentSnapshot contains data read from a document in your Firestore database as part of a query. The document is guaranteed to exist and its data can be extracted with .data() or .get(:field) to get a specific field.

QueryFilterConstraint
interface
QuerySnapshot
interface

A QuerySnapshot contains zero or more QueryDocumentSnapshot objects representing the results of a query. The documents can be accessed as an array via the docs property or enumerated using the forEach method. The number of documents can be determined via the empty and size properties.

SetOptions
interface

An options object that configures the behavior of set() calls in DocumentReference, WriteBatch and Transaction. These calls can be configured to perform granular merges instead of overwriting the target documents in their entirety by providing a SetOptions with merge: true.

Settings
interface

Specifies custom configurations for your Cloud Firestore instance. You must set these before invoking any other methods.

SnapshotListenOptions
interface

An options object that can be passed to DocumentReference.onSnapshot(), Query.onSnapshot() and QuerySnapshot.docChanges() to control which types of changes to include in the result set.

SnapshotMetadata
interface

Metadata about a snapshot, describing the state of the snapshot.

Transaction
interface

A reference to a transaction. The Transaction object passed to a transaction's updateFunction provides the methods to read and write data within the transaction context. See Firestore.runTransaction().

WriteBatch
interface

A write batch, used to perform multiple writes as a single atomic unit.

AggregateFieldType
alias

The union of all AggregateField types that are supported by Firestore.

AggregateSpecData
alias

A type whose keys are taken from an AggregateSpec, and whose values are the result of the aggregation performed by the corresponding AggregateField from the input AggregateSpec.

DocumentChangeType
alias

The type of a DocumentChange may be 'added', 'removed', or 'modified'.

DocumentFieldType
alias

The types for a DocumentSnapshot field that are supported by Firestore.

QueryFilterType
alias

An instance of Filter used to generate Firestore Filter queries.

SetValue
alias

Utility type to allow FieldValue and to allow Date in place of Timestamp objects.

TaskState
alias

Represents the state of bundle loading tasks.

WhereFilterOp
alias

Filter conditions in a Query.where() clause are specified using the strings '<', '<=', '==', '>=', '>', 'array-contains', 'array-contains-any' or 'in'.

functions

APITypeDescription
functions
interface

The Firebase Cloud Functions service is available for the default app, a given app or a specified region.

HttpsCallable
interface

An HttpsCallable is a reference to a "callable" http trigger in Google Cloud Functions.

HttpsCallableOptions
interface

An HttpsCallableOptions object that can be passed as the second argument to firebase.functions().httpsCallable(name, HttpsCallableOptions).

HttpsCallableResult
interface

An HttpsCallableResult wraps a single result from a function call.

HttpsError
interface

An HttpsError wraps a single error from a function call.

HttpsErrorCode
interface

The HttpsErrorCode interface provides access to all FunctionsErrorCode type aliases.

FunctionsErrorCode
alias

in-app-messaging

APITypeDescription
in-app-messaging
interface

The Firebase In-App Messaging service interface.

installations

APITypeDescription
installations
interface

The Firebase Installations service is available for the default app or a given app.

ml

APITypeDescription
ml
interface

messaging

APITypeDescription
AuthorizationStatus
enum

An enum representing the notification authorization status for this app on the device.

NotificationAndroidPriority
enum

The enum representing a notification priority.

NotificationAndroidVisibility
enum

The enum representing the visibility of a notification.

messaging
interface

The Firebase Messaging service interface.

FcmOptions
interface

Options for features provided by the FCM SDK for Web.

GetTokenOptions
interface

Options for getToken()

IOSPermissions
interface

An interface representing all the available permissions that can be requested by your app via the requestPermission API.

NativeTokenOptions
interface

Options for getToken() and deleteToken()

Notification
interface
NotificationIOSCriticalSound
interface

Represents a critical sound configuration that can be included in the aps dictionary of an APNs payload.

RemoteMessage
interface

The RemoteMessage interface describes an outgoing & incoming message from the remote FCM server.

SendErrorEvent
interface

An event that is received when a message fails to send.

NotificationPayload
alias

NotificationPayload is an alias for Notification. This is to keep it the same as Firebase Web JS SDK v9 and to make it backwards compatible.

perf

APITypeDescription
HttpMetric
interface

Metric used to collect data for network requests/responses. A new instance must be used for every request/response.

perf
interface

The Firebase Performance Monitoring service interface.

ScreenTrace
interface

ScreenTrace allows you to record a custom screen rendering trace of slow and frozen frames. Throws on constructor if hardware acceleration is off or if Android is 9.0 or 9.1.

Trace
interface

Trace allows you to time the beginning to end of a certain action in your app with additional metric values and attributes.

HttpMethod
alias

Valid HTTP methods.

remote-config

APITypeDescription
remote-config
interface

The Firebase Remote RemoteConfig service interface.

ConfigDefaults
interface

Set default config values by updating defaultConfig with an object & the properties you require as default.

ConfigSettings
interface

An Interface representing settable config settings.

ConfigValue
interface

An Interface representing a RemoteConfig value.

ConfigValues
interface

An Interface representing multiple RemoteConfig Values.

LastFetchStatus
interface

A pseudo-enum for usage with ConfigSettingsRead.lastFetchStatus to determine the last fetch status.

ValueSource
interface

A pseudo-enum for usage with ConfigValue.source to determine the value source.

LastFetchStatusType
alias

The status of the latest Remote RemoteConfig fetch action.

RemoteConfigLogLevel
alias

Defines levels of Remote Config logging. Web only.

storage

APITypeDescription
storage
interface

The Cloud Storage service is available for the default app, a given app or a specific storage bucket.

EmulatorMockTokenOptions
interface

Storage Emulator options. Web only.

FullMetadata
interface

The full readable metadata returned by TaskSnapshot.metadata or StorageReference.getMetadata().

ListOptions
interface

The options list() accepts.

ListResult
interface

Result returned by list().

Reference
interface

Represents a reference to a Google Cloud Storage object in React Native Firebase.

SettableMetadata
interface

An interface representing all the metadata properties that can be set.

StringFormat
interface

Possible string formats used for uploading via StorageReference.putString()

Task
interface

Storage Task used for Uploading or Downloading files.

TaskEvent
interface

An event to subscribe to that is triggered on a Upload or Download task.

TaskResult
interface

Result returned from a non-resumable upload.

TaskSnapshot
interface

A TaskSnapshot provides information about a storage tasks state.

TaskSnapshotObserver
interface

The snapshot observer returned from a Task#on listener.

TaskState
interface

A collection of properties that indicates the current tasks state.

app

APITypeDescription
FirebaseModule
interface

A class that all React Native Firebase modules extend from to provide default behaviour.

FirebaseApp
interface
FirebaseAppConfig
interface
FirebaseAppOptions
interface
app
interface
NativeFirebaseError
interface
FirebaseModuleWithStatics
alias
FirebaseModuleWithStaticsAndApp
alias
LogLevelString
alias