The entry point of Firebase SDKs. It holds common configuration and state for Firebase APIs. Most applications don't need to directly interact with FirebaseApp.
For a vast majority of apps,
will handle the initialization of Firebase for the default project that it's configured to
work with, via the data contained in the app's
google-services.json file. This
ContentProvider is merged into the app's manifest by default when building with
Gradle, and it runs automatically at app launch. No additional lines of code are
needed in this case.
In the event that an app requires access to another Firebase project in addition
to the default project,
initializeApp(Context, FirebaseOptions, String) must be used to create that
relationship programmatically. The name parameter must be unique. To connect to the resources
exposed by that project, use the
passing it the same name used with
initializeApp. This object must be passed to
the static accessor of the feature that provides the resource. For example,
getInstance(FirebaseApp) is used to access the storage bucket provided by the
additional project, whereas
is used to access the default project.
FirebaseApp initialization must occur only in the main process of the
app. Use of Firebase in processes other than the main process is not supported and will
likely cause problems related to resource contention.
Public Method Summary
Returns the unique name of this app.
If set to true it indicates that Firebase should close database connections automatically when the app is in the background.
Inherited Method Summary
public boolean equals (Object o)
public Context getApplicationContext ()
public static List<FirebaseApp> getApps (Context context)
Returns a mutable list of all FirebaseApps.
public static FirebaseApp getInstance (String name)
public static FirebaseApp getInstance ()
public FirebaseOptions getOptions ()
public int hashCode ()
public static FirebaseApp initializeApp (Context context, FirebaseOptions options)
It's only required to call this to initialize Firebase if it's not
possible to do so automatically in
Automatic initialization that way is the expected situation.
public static FirebaseApp initializeApp (Context context, FirebaseOptions options, String name)
A factory method to initialize a
|options||represents the global
|name||unique name for the app. It is an error to initialize an app with an already existing name. Starting and ending whitespace characters in the name are ignored (trimmed).|
- an instance of
|IllegalStateException||if an app with the same name has already been initialized.|
public static FirebaseApp initializeApp (Context context)
Initializes the default FirebaseApp instance using string resource values - populated from google-services.json. It also initializes Firebase Analytics for the current process.
This method is called at app startup time by
Call this method before any Firebase APIs in components outside the main process.
values used by the default app instance are read from string resources.
- the default FirebaseApp, if either it has been initialized previously, or Firebase API keys are present in string resources. Returns null otherwise.
public void setAutomaticResourceManagementEnabled (boolean enabled)
If set to true it indicates that Firebase should close database connections automatically when the app is in the background. Disabled by default.