FirebaseAnalytics

public final class FirebaseAnalytics extends Object

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.

Nested Class Summary

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 Method Summary

Task<String>
getAppInstanceId()
Retrieves the app instance id from the service.
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
setCurrentScreen(Activity activity, String screenName, String screenClassOverride)
Sets the current screen name, which specifies the current visual context in your app.
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.

Inherited Method Summary

Public Methods

public Task<String> getAppInstanceId ()

Retrieves the app instance id from the service.

Returns
  • Task with the result of the retrieval

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 40 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 40 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 100 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 setCurrentScreen (Activity activity, String screenName, String screenClassOverride)

Sets the current screen name, which specifies the current visual context in your app. This helps identify the areas in your app where users spend their time and how they interact with your app.

Note that screen reporting is enabled automatically and records the class name of the current Activity for you without requiring you to call this function. The class name can optionally be overridden by calling this function in the onResume callback of your Activity and specifying the screenClassOverride parameter.

If your app does not use a distinct Activity for each screen, you should call this function and specify a distinct screenName each time a new screen is presented to the user.

The name and classOverride remain in effect until the current Activity changes or a new call to setCurrentScreen is made.

Parameters
activity The activity to which the screen name and class name apply.
screenName The name of the current screen. Set to null to clear the current screen name.
screenClassOverride The name of the screen class. By default this is the class name of the current Activity. Set to null to revert to the default class name.

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).

Parameters
milliseconds Session timeout duration in milliseconds

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. Once set, user property values persist throughout the app lifecycle and across sessions.

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.

Send feedback about...

Need help? Visit our support page.