Primeros pasos
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown para este 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.
Instalar
Sección titulada “Instalación”Puedes usar nuestro setup asistido por IA para instalar el plugin. Añade las skills de Capgo a tu herramienta de IA con el siguiente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego usa el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-firebase-analytics` plugin in my project.Si prefieres la configuración manual, instala el plugin ejecutando estos comandos y sigue las instrucciones de cada plataforma:
bun add @capgo/capacitor-firebase-analyticsnpx cap syncImportar
Sección titulada “Importar”import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';Inicio rápido
Sección titulada “Inicio rápido”import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
const result = await FirebaseAnalytics.getAppInstanceId();console.log(result);Ejemplo: getSessionId
Sección titulada “Ejemplo: getSessionId”import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
const result = await FirebaseAnalytics.getSessionId();console.log(result);Ejemplo: setConsent
Sección titulada “Ejemplo: setConsent”import { FirebaseAnalytics, ConsentStatus, ConsentType } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setConsent({ type: ConsentType.AdPersonalization, status: ConsentStatus.Granted,});Errores comunes
Sección titulada “Errores comunes”- Sync nativo: ejecuta
npx cap synctras actualizar los plugins. - Fuente de verdad: confianza
src/definitions.tsen el repo de GitHub.
Resumen de API
Sección titulada “Resumen de API”getAppInstanceId
Sección titulada “getAppInstanceId”Obtiene el ID de la instancia de la app.
Solo disponible para Android e iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
const result = await FirebaseAnalytics.getAppInstanceId();console.log(result);getSessionId
Sección titulada “getSessionId”Obtiene el ID de la sesión actual (ga_session_id).
Solo disponible para Android e iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
const result = await FirebaseAnalytics.getSessionId();console.log(result);setConsent
Sección titulada “setConsent”Establece el modo de consentimiento del usuario.
import { FirebaseAnalytics, ConsentStatus, ConsentType } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setConsent({ type: ConsentType.AdPersonalization, status: ConsentStatus.Granted,});setUserId
Sección titulada “setUserId”Establece la propiedad del ID de usuario.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setUserId({ userId: 'user-id-123' });setUserProperty
Sección titulada “setUserProperty”Asigna un valor a una propiedad de usuario personalizada.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setUserProperty({ key: 'key-123', value: 'value',});setCurrentScreen
Sección titulada “setCurrentScreen”Establece el nombre de la pantalla actual.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setCurrentScreen({ screenName: 'screen' });logEvent
Sección titulada “logEvent”Registra un evento de la app.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.logEvent({ name: 'example' });setSessionTimeoutDuration
Sección titulada “setSessionTimeoutDuration”Establece la duración de inactividad que finaliza la sesión actual.
Solo disponible para Android e iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setSessionTimeoutDuration({ duration: 1800 });setEnabled
Sección titulada “setEnabled”Activa/desactiva la recopilación automática de datos. El valor no se aplica hasta la próxima ejecución de la app.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setEnabled({ enabled: true });isEnabled
Sección titulada “isEnabled”Indica si la recopilación automática de datos está activada.
Solo disponible para Web.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
const result = await FirebaseAnalytics.isEnabled();console.log(result);resetAnalyticsData
Sección titulada “resetAnalyticsData”Borra todos los datos de analytics de esta app en el dispositivo. Reinicia el app instance id.
Solo disponible para Android e iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.resetAnalyticsData();initiateOnDeviceConversionMeasurementWithEmailAddress
Sección titulada “initiateOnDeviceConversionMeasurementWithEmailAddress”Inicia la medición de conversiones en el dispositivo con un email.
Solo disponible para iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithEmailAddress({ emailAddress: 'user@example.com' });initiateOnDeviceConversionMeasurementWithPhoneNumber
Sección titulada “initiateOnDeviceConversionMeasurementWithPhoneNumber”Inicia la medición de conversiones on-device con un número de teléfono.
Solo disponible para iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithPhoneNumber({ phoneNumber: '+15555550123' });initiateOnDeviceConversionMeasurementWithHashedEmailAddress
Sección titulada “initiateOnDeviceConversionMeasurementWithHashedEmailAddress”Inicia la medición de conversiones on-device con un email hasheado.
Solo disponible para iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithHashedEmailAddress({ emailAddressToHash: 'user@example.com' });initiateOnDeviceConversionMeasurementWithHashedPhoneNumber
Sección titulada “initiateOnDeviceConversionMeasurementWithHashedPhoneNumber”Inicia la medición de conversiones on-device con un número de teléfono hasheado.
Solo disponible para iOS.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithHashedPhoneNumber({ phoneNumberToHash: '+15555550123' });Referencia de tipos
Sección titulada “Referencia de tipos”GetAppInstanceIdResult
Sección titulada “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
Sección titulada “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
Sección titulada “SetConsentOptions”export interface SetConsentOptions { /** * The consent type. * * @since 6.0.0 */ type: ConsentType; /** * The consent status. * * @since 6.0.0 */ status: ConsentStatus;}SetUserIdOptions
Sección titulada “SetUserIdOptions”export interface SetUserIdOptions { /** * @since 0.1.0 */ userId: string | null;}SetUserPropertyOptions
Sección titulada “SetUserPropertyOptions”export interface SetUserPropertyOptions { /** * @since 0.1.0 */ key: string; /** * @since 0.1.0 */ value: string | null;}SetCurrentScreenOptions
Sección titulada “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
Sección titulada “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
Sección titulada “SetSessionTimeoutDurationOptions”export interface SetSessionTimeoutDurationOptions { /** * Duration in seconds. * * @default 1800 * @since 0.1.0 */ duration: number;}SetEnabledOptions
Sección titulada “SetEnabledOptions”export interface SetEnabledOptions { /** * @since 0.1.0 */ enabled: boolean;}IsEnabledResult
Sección titulada “IsEnabledResult”export interface IsEnabledResult { /** * @since 0.1.0 */ enabled: boolean;}InitiateOnDeviceConversionMeasurementWithEmailAddressOptions
Sección titulada “InitiateOnDeviceConversionMeasurementWithEmailAddressOptions”export interface InitiateOnDeviceConversionMeasurementWithEmailAddressOptions { /** * The email address to initiate on-device conversion measurement with. * * @since 7.2.0 */ emailAddress: string;}InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions
Sección titulada “InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions”export interface InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions { /** * The phone number to initiate on-device conversion measurement with. * * @since 7.2.0 */ phoneNumber: string;}Fuente de verdad
Sección titulada “Fuente de verdad”Esta página se genera a partir del plugin src/definitions.ts. Vuelve a ejecutar el sync cuando el API público cambie en upstream.
Continúa desde Getting Started
Sección titulada “Continúa desde Primeros pasos”Si estás usando Primeros pasos para planificar las operaciones del dashboard y de API, conéctalo con Resumen de API para los detalles de implementación en API Overview, Introducción para los detalles de implementación en la Introducción, Claves de API para el detalle de implementación en API Keys, Dispositivos para el detalle de implementación en Devices, y Bundles para el detalle de implementación en Bundles.