Summary: Nested Classes | Methods | Inherited Methods | [Expand All]
public final class

# FirebaseAnalytics

extends Object

java.lang.Object
↳ | com.google.firebase.analytics.FirebaseAnalytics

## Class Overview

The top level Firebase Analytics singleton that provides methods for logging events and setting user properties. See the developer guides for general information on using Firebase Analytics in your apps.

Applications can get an instance of this class by calling `getInstance(Context)`. `getInstance(Context)` is thread safe and can be called from any thread.

## Summary

Nested Classes
class | FirebaseAnalytics.Event | An Event is an important occurrence in your app that you want to measure.
class | FirebaseAnalytics.Param | Params supply information that contextualize Events.
class | FirebaseAnalytics.UserProperty | A UserProperty is an attribute that describes the app-user.

Public Methods
static FirebaseAnalytics | getInstance(Context context) Returns the singleton FirebaseAnalytics interface.
void | logEvent(String name, Bundle params) Logs an app event.
void | setAnalyticsCollectionEnabled(boolean enabled) Sets whether analytics collection is enabled for this app on this device.
void | setMinimumSessionDuration(long milliseconds) Sets the minimum engagement time required before starting a session. The default value is 10000 (10 seconds).
void | setSessionTimeoutDuration(long milliseconds) Sets the duration of inactivity that terminates the current session. The default value is 1800000 (30 minutes).
void | setUserId(String id) Sets the user ID property.
void | setUserProperty(String name, String value) Sets a user property to a given value.

[Expand] Inherited Methods
From class java.lang.Object
Object | clone()
boolean | equals(Object arg0)
void | finalize()
final Class<?> | getClass()
int | hashCode()
final void | notify()
final void | notifyAll()
String | toString()
final void | wait(long arg0, int arg1)
final void | wait(long arg0)
final void | wait()

## Public Methods

#### public static FirebaseAnalytics getInstance (Context context)

Returns the singleton FirebaseAnalytics interface.

##### Parameters

context | the context used to initialize Firebase Analytics. Must not be `null`.

#### public void logEvent (String name, Bundle params)

Logs an app event. The event can have up to 25 parameters. Events with the same name must have the same parameters. Up to 500 event names are supported. Using predefined `FirebaseAnalytics.Event` and/or `FirebaseAnalytics.Param` is recommended for optimal reporting.

##### Parameters

name | The name of the event. Should contain 1 to 32 alphanumeric characters or underscores. The name must start with an alphabetic character. Some event names are reserved. See `FirebaseAnalytics.Event` for the list of reserved event names. The "firebase_" prefix is reserved and should not be used. Note that event names are case-sensitive and that logging two events whose names differ only in case will result in two distinct events.
params | The map of event parameters. Passing null indicates that the event has no parameters. Parameter names can be up to 24 characters long and must start with an alphabetic character and contain only alphanumeric characters and underscores. Only String, long and double param types are supported. String parameter values can be up to 36 characters long. The "firebase_" prefix is reserved and should not be used for parameter names.

#### public void setAnalyticsCollectionEnabled (boolean enabled)

Sets whether analytics collection is enabled for this app on this device. This setting is persisted across app sessions. By default it is enabled.

##### Parameters

enabled | Whether analytics collection is enabled for this app on this device.

#### public void setMinimumSessionDuration (long milliseconds)

Sets the minimum engagement time required before starting a session. The default value is 10000 (10 seconds).

##### Parameters

milliseconds | The minimum engagement time required to start a new session.

#### public void setSessionTimeoutDuration (long milliseconds)

Sets the duration of inactivity that terminates the current session. The default value is 1800000 (30 minutes).

#### public void setUserId (String id)

Sets the user ID property. This feature must be used in accordance with Google's Privacy Policy.

##### Parameters

id | The user ID to ascribe to the user of this app on this device, which must be non-empty and no more than 36 characters long. Setting the ID to null removes the user ID.

#### public void setUserProperty (String name, String value)

Sets a user property to a given value. Up to 25 user property names are supported.

##### Parameters

name | The name of the user property to set. Should contain 1 to 24 alphanumeric characters or underscores and must start with an alphabetic character. The "firebase_" prefix is reserved and should not be used for user property names.
value | The value of the user property. Values can be up to 36 characters long. Setting the value to null removes the user property.