Jump to top

analytics

interface

The Firebase Analytics service interface.

This module is available for the default app only.

Example

Get the Analytics service for the default app:

const defaultAppAnalytics = firebase.analytics();

Properties

app

</>

The current FirebaseApp instance for this Firebase service.

app: FirebaseApp;

Methods

logAddPaymentInfo

</>

Add Payment Info event. This event signifies that a user has submitted their payment information to your app.

logAddPaymentInfo(): Promise<void>;

logAddToCart

</>

E-Commerce Add To Cart event. This event signifies that an item was added to a cart for purchase. Add this event to a funnel with analytics#logEcommercePurchase to gauge the effectiveness of your checkout process.

logAddToCart(params: AddToCartEventParameters): Promise<void>;

logAddToWishlist

</>

E-Commerce Add To Wishlist event. This event signifies that an item was added to a wishlist. Use this event to identify popular gift items in your app.

logAddToWishlist(params: AddToWishlistEventParameters): Promise<void>;

logAppOpen

</>

App Open event. By logging this event when an App is moved to the foreground, developers can understand how often users leave and return during the course of a Session. Although Sessions are automatically reported, this event can provide further clarification around the continuous engagement of app-users.

logAppOpen(): Promise<void>;

logBeginCheckout

</>

E-Commerce Begin Checkout event. This event signifies that a user has begun the process of checking out. Add this event to a funnel with your analytics#logEcommercePurchase event to gauge the effectiveness of your checkout process.

logBeginCheckout(params?: BeginCheckoutEventParameters): Promise<void>;

logCampaignDetails

</>

Log this event to supply the referral details of a re-engagement campaign.

logCampaignDetails(params: CampaignDetailsEventParameters): Promise<void>;

logEarnVirtualCurrency

</>

Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app. Log this along with logSpendVirtualCurrency to better understand your virtual economy.

logEarnVirtualCurrency(params: EarnVirtualCurrencyEventParameters): Promise<void>;

logEcommercePurchase

</>

E-Commerce Purchase event. This event signifies that an item was purchased by a user. This is different from the in-app purchase event, which is reported automatically for Google Play-based apps.

logEcommercePurchase(params?: EcommercePurchaseEventParameters): Promise<void>;

logEvent

</>

Log a custom event with optional params.

logEvent(name: string, params?: undefined | { [key: string]: any }): Promise<void>;

logGenerateLead

</>

Generate Lead event. Log this event when a lead has been generated in the app to understand the efficacy of your install and re-engagement campaigns.

logGenerateLead(params?: GenerateLeadEventParameters): Promise<void>;

logJoinGroup

</>

Join Group event. Log this event when a user joins a group such as a guild, team or family. Use this event to analyze how popular certain groups or social features are in your app

logJoinGroup(params: JoinGroupEventParameters): Promise<void>;

logLevelEnd

</>

Level End event.

logLevelEnd(params: LevelEndEventParameters): Promise<void>;

logLevelStart

</>

Level Start event.

logLevelStart(params: LevelStartEventParameters): Promise<void>;

logLevelUp

</>

Level Up event. This event signifies that a player has leveled up in your gaming app. It can help you gauge the level distribution of your userbase and help you identify certain levels that are difficult to pass.

logLevelUp(params: LevelUpEventParameters): Promise<void>;

logLogin

</>

Login event. Apps with a login feature can report this event to signify that a user has logged in.

logLogin(params: LoginEventParameters): Promise<void>;

logPresentOffer

</>

Present Offer event. This event signifies that the app has presented a purchase offer to a user. Add this event to a funnel with the analytics#logAddToCart and analytics#logEcommercePurchase to gauge your conversion process.

logPresentOffer(params: PresentOfferEventParameters): Promise<void>;

logPurchaseRefund

</>

E-Commerce Purchase Refund event. This event signifies that an item purchase was refunded.

logPurchaseRefund(params?: PurchaseRefundEventParameters): Promise<void>;

logRemoveFromCart

</>

Remove from cart event.

logRemoveFromCart(params: RemoveFromCartEventParameters): Promise<void>;

logSearch

</>

Search event. Apps that support search features can use this event to contextualize search operations by supplying the appropriate, corresponding parameters. This event can help you identify the most popular content in your app.

logSearch(params: SearchEventParameters): Promise<void>;

logSelectContent

</>

Select Content event. This general purpose event signifies that a user has selected some content of a certain type in an app. The content can be any object in your app. This event can help you identify popular content and categories of content in your app.

logSelectContent(params: SelectContentEventParameters): Promise<void>;

logSetCheckoutOption

</>

Set checkout option event.

logSetCheckoutOption(params: SetCheckoutOptionEventParameters): Promise<void>;

logShare

</>

Share event. Apps with social features can log the Share event to identify the most viral content.

logShare(params: ShareEventParameters): Promise<void>;

logSignUp

</>

Sign Up event. This event indicates that a user has signed up for an account in your app. The parameter signifies the method by which the user signed up. Use this event to understand the different behaviors between logged in and logged out users.

logSignUp(params: SignUpEventParameters): Promise<void>;

logSpendVirtualCurrency

</>

Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can help you identify which virtual goods are the most popular objects of purchase.

logSpendVirtualCurrency(params: SpendVirtualCurrencyEventParameters): Promise<void>;

logTutorialBegin

</>

Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use this in a funnel with analytics#logTutorialComplete to understand how many users complete this process and move on to the full app experience.

logTutorialBegin(): Promise<void>;

logTutorialComplete

</>

Tutorial End event. Use this event to signify the user's completion of your app's on-boarding process. Add this to a funnel with analytics#logTutorialBegin to understand how many users complete this process and move on to the full app experience.

logTutorialComplete(): Promise<void>;

logUnlockAchievement

</>

Unlock Achievement event. Log this event when the user has unlocked an achievement in your game. Since achievements generally represent the breadth of a gaming experience, this event can help you understand how many users are experiencing all that your game has to offer.

logUnlockAchievement(params: UnlockAchievementEventParameters): Promise<void>;

logViewItem

</>

View Item event. This event signifies that some content was shown to the user. This content may be a product, a screen or just a simple image or text. Use the appropriate parameters to contextualize the event. Use this event to discover the most popular items viewed in your app.

logViewItem(params: ViewItemEventParameters): Promise<void>;

logViewItemList

</>

View Item List event. Log this event when the user has been presented with a list of items of a certain category.

logViewItemList(params: ViewItemListEventParameters): Promise<void>;

logViewSearchResults

</>

View Search Results event. Log this event when the user has been presented with the results of a search.

logViewSearchResults(params: ViewSearchResults): Promise<void>;

resetAnalyticsData

</>

Clears all analytics data for this instance from the device and resets the app instance ID.

resetAnalyticsData(): Promise<void>;

setAnalyticsCollectionEnabled

</>

If true, allows the device to collect analytical data and send it to Firebase. Useful for GDPR.

setAnalyticsCollectionEnabled(enabled: boolean): Promise<void>;

setCurrentScreen

</>

Sets the current screen name.

setCurrentScreen(screenName: string, screenClassOverride?: undefined | string): Promise<void>;

setMinimumSessionDuration

</>

Sets the minimum engagement time required before starting a session.

setMinimumSessionDuration(milliseconds?: undefined | number): Promise<void>;

setSessionTimeoutDuration

</>

Sets the duration of inactivity that terminates the current session.

setSessionTimeoutDuration(milliseconds?: undefined | number): Promise<void>;

setUserId

</>

Gives a user a unique identification.

setUserId(id: string | null): Promise<void>;

setUserProperties

</>

Sets multiple key/value pairs of data on the current user. Each Firebase project can have up to 25 uniquely named (case-sensitive) user properties.

setUserProperties(properties: { [key: string]: string | null }): Promise<void>;

setUserProperty

</>

Sets a key/value pair of data on the current user. Each Firebase project can have up to 25 uniquely named (case-sensitive) user properties.

setUserProperty(name: string, value: string | null): Promise<void>;