Getting Started
Copy a setup prompt with the install steps and the full markdown guide for this plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-firebase-analytics`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/firebase-analytics/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Install
Section titled âInstallâbun add @capgo/capacitor-firebase-analyticsbunx cap syncimport { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';API Overview
Section titled âAPI OverviewâgetAppInstanceId
Section titled âgetAppInstanceIdâRetrieves the app instance id.
Only available for Android and iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.getAppInstanceId();getSessionId
Section titled âgetSessionIdâRetrieves the current session id (ga_session_id).
Only available for Android and iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.getSessionId();setConsent
Section titled âsetConsentâSets the userâs consent mode.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setConsent({} as SetConsentOptions);setUserId
Section titled âsetUserIdâSets the user ID property.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setUserId({} as SetUserIdOptions);setUserProperty
Section titled âsetUserPropertyâSets a custom user property to a given value.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setUserProperty({} as SetUserPropertyOptions);setCurrentScreen
Section titled âsetCurrentScreenâSets the current screen name.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setCurrentScreen({} as SetCurrentScreenOptions);logEvent
Section titled âlogEventâLogs an app event.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.logEvent({} as LogEventOptions);setSessionTimeoutDuration
Section titled âsetSessionTimeoutDurationâSets the duration of inactivity that terminates the current session.
Only available for Android and iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setSessionTimeoutDuration({} as SetSessionTimeoutDurationOptions);setEnabled
Section titled âsetEnabledâEnables/disables automatic data collection. The value does not apply until the next run of the app.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setEnabled({} as SetEnabledOptions);isEnabled
Section titled âisEnabledâReturns whether or not automatic data collection is enabled.
Only available for Web.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.isEnabled();resetAnalyticsData
Section titled âresetAnalyticsDataâClears all analytics data for this app from the device. Resets the app instance id.
Only available for Android and iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.resetAnalyticsData();initiateOnDeviceConversionMeasurementWithEmailAddress
Section titled âinitiateOnDeviceConversionMeasurementWithEmailAddressâInitiates on-device conversion measurement with an email address.
Only available for iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithEmailAddress({} as InitiateOnDeviceConversionMeasurementWithEmailAddressOptions);initiateOnDeviceConversionMeasurementWithPhoneNumber
Section titled âinitiateOnDeviceConversionMeasurementWithPhoneNumberâInitiates on-device conversion measurement with a phone number.
Only available for iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithPhoneNumber({} as InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions);initiateOnDeviceConversionMeasurementWithHashedEmailAddress
Section titled âinitiateOnDeviceConversionMeasurementWithHashedEmailAddressâInitiates on-device conversion measurement with a hashed email address.
Only available for iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithHashedEmailAddress({} as InitiateOnDeviceConversionMeasurementWithHashedEmailAddressOptions);initiateOnDeviceConversionMeasurementWithHashedPhoneNumber
Section titled âinitiateOnDeviceConversionMeasurementWithHashedPhoneNumberâInitiates on-device conversion measurement with a hashed phone number.
Only available for iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithHashedPhoneNumber({} as InitiateOnDeviceConversionMeasurementWithHashedPhoneNumberOptions);Type Reference
Section titled âType ReferenceâGetAppInstanceIdResult
Section titled âGetAppInstanceIdResultâexport interface GetAppInstanceIdResult { /** * The app instance id. * * Not defined if `FirebaseAnalytics.ConsentType.ANALYTICS_STORAGE` has been set to `FirebaseAnalytics.ConsentStatus.DENIED`. * * @since 1.4.0 */ appInstanceId?: string;}GetSessionIdResult
Section titled âGetSessionIdResultâexport interface GetSessionIdResult { /** * The current session id. * * Matches Firebase Analytics `ga_session_id`. * * Not defined if `FirebaseAnalytics.ConsentType.ANALYTICS_STORAGE` has been set to `FirebaseAnalytics.ConsentStatus.DENIED`. * * @since 8.0.1 */ sessionId?: number;}SetConsentOptions
Section titled âSetConsentOptionsâexport interface SetConsentOptions { /** * The consent type. * * @since 6.0.0 */ type: ConsentType; /** * The consent status. * * @since 6.0.0 */ status: ConsentStatus;}SetUserIdOptions
Section titled âSetUserIdOptionsâexport interface SetUserIdOptions { /** * @since 0.1.0 */ userId: string | null;}SetUserPropertyOptions
Section titled âSetUserPropertyOptionsâexport interface SetUserPropertyOptions { /** * @since 0.1.0 */ key: string; /** * @since 0.1.0 */ value: string | null;}SetCurrentScreenOptions
Section titled âSetCurrentScreenOptionsâexport interface SetCurrentScreenOptions { /** * @since 0.1.0 */ screenName: string | null; /** * Only available for Android and iOS. * * @default null * @since 0.1.0 */ screenClassOverride?: string | null;}LogEventOptions
Section titled âLogEventOptionsâexport interface LogEventOptions { /** * The event name. * * @since 0.1.0 */ name: string; /** * The optional event params. * * @since 0.1.0 */ params?: { [key: string]: any };}SetSessionTimeoutDurationOptions
Section titled âSetSessionTimeoutDurationOptionsâexport interface SetSessionTimeoutDurationOptions { /** * Duration in seconds. * * @default 1800 * @since 0.1.0 */ duration: number;}SetEnabledOptions
Section titled âSetEnabledOptionsâexport interface SetEnabledOptions { /** * @since 0.1.0 */ enabled: boolean;}IsEnabledResult
Section titled âIsEnabledResultâexport interface IsEnabledResult { /** * @since 0.1.0 */ enabled: boolean;}InitiateOnDeviceConversionMeasurementWithEmailAddressOptions
Section titled âInitiateOnDeviceConversionMeasurementWithEmailAddressOptionsâexport interface InitiateOnDeviceConversionMeasurementWithEmailAddressOptions { /** * The email address to initiate on-device conversion measurement with. * * @since 7.2.0 */ emailAddress: string;}InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions
Section titled âInitiateOnDeviceConversionMeasurementWithPhoneNumberOptionsâexport interface InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions { /** * The phone number to initiate on-device conversion measurement with. * * @since 7.2.0 */ phoneNumber: string;}Source Of Truth
Section titled âSource Of TruthâThis page is generated from the pluginâs src/definitions.ts. Re-run the sync when the public API changes upstream.