Erste Schritte
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses 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.
Installieren
Abschnitt „Installation“Du kannst unser KI-gestütztes Setup nutzen, um das Plugin zu installieren. Füge die Capgo Skills mit dem folgenden Befehl deinem KI-Tool hinzu:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsNutze dann diesen Prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-firebase-analytics` plugin in my project.Wenn du ein manuelles Setup bevorzugst, installiere das Plugin mit den folgenden Befehlen und befolge die plattformspezifischen Anweisungen unten:
bun add @capgo/capacitor-firebase-analyticsnpx cap syncImportieren
Abschnitt mit dem Titel „Import“import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';Quickstart
Abschnitt „Quick start“import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
const result = await FirebaseAnalytics.getAppInstanceId();console.log(result);Beispiel: getSessionId
Abschnitt: „Beispiel: getSessionId“import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
const result = await FirebaseAnalytics.getSessionId();console.log(result);Beispiel: setConsent
Abschnitt: „Beispiel: setConsent“import { FirebaseAnalytics, ConsentStatus, ConsentType } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setConsent({ type: ConsentType.AdPersonalization, status: ConsentStatus.Granted,});Häufige Stolperfallen
Abschnitt „Häufige Fallstricke“- Nativer Sync: ausführen
npx cap syncnach Plugin-Upgrades. - Single Source of Truth: Vertrauen
src/definitions.tsim GitHub Repo.
API Übersicht
Abschnitt „API Übersicht“getAppInstanceId
Abschnitt mit dem Titel „getAppInstanceId“Ruft die App-Instanz-ID ab.
Nur für Android und iOS verfügbar.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
const result = await FirebaseAnalytics.getAppInstanceId();console.log(result);getSessionId
Abschnitt mit dem Titel „getSessionId“Ruft die aktuelle Session-ID ab (ga_session_id).
Nur für Android und iOS verfügbar.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
const result = await FirebaseAnalytics.getSessionId();console.log(result);setConsent
Abschnitt mit dem Titel „setConsent“Setzt den Consent-Modus des Nutzers.
import { FirebaseAnalytics, ConsentStatus, ConsentType } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setConsent({ type: ConsentType.AdPersonalization, status: ConsentStatus.Granted,});setUserId
Abschnitt mit dem Titel „setUserId“Legt die User-ID-Property fest.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setUserId({ userId: 'user-id-123' });setUserProperty
Abschnitt „setUserProperty“Setzt eine benutzerdefinierte User-Property auf einen Wert.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setUserProperty({ key: 'key-123', value: 'value',});setCurrentScreen
Abschnitt mit dem Titel „setCurrentScreen“Legt den aktuellen Screen-Namen fest.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setCurrentScreen({ screenName: 'screen' });logEvent
Abschnitt „logEvent“Loggt ein App-Event.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.logEvent({ name: 'example' });setSessionTimeoutDuration
Abschnitt mit dem Titel „setSessionTimeoutDuration“Legt die Inaktivitätsdauer fest, nach der die Session endet.
Nur für Android und iOS verfügbar.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setSessionTimeoutDuration({ duration: 1800 });setEnabled
Abschnitt mit dem Titel „setEnabled“Aktiviert oder deaktiviert die automatische Datenerfassung. Der Wert wird erst beim nächsten App-Start wirksam.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setEnabled({ enabled: true });isEnabled
Abschnitt „isEnabled“Gibt an, ob die automatische Datenerfassung aktiviert ist.
Nur für Web verfügbar.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
const result = await FirebaseAnalytics.isEnabled();console.log(result);resetAnalyticsData
Abschnitt „resetAnalyticsData“Löscht alle Analytics-Daten dieser App vom Gerät. Setzt die App-Instanz-ID zurück.
Nur für Android und iOS verfügbar.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.resetAnalyticsData();initiateOnDeviceConversionMeasurementWithEmailAddress
Abschnitt „initiateOnDeviceConversionMeasurementWithEmailAddress“Startet die Conversion-Messung auf dem Gerät mittels E-Mail-Adresse.
Nur für iOS verfügbar.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithEmailAddress({ emailAddress: 'user@example.com' });initiateOnDeviceConversionMeasurementWithPhoneNumber
Abschnitt „initiateOnDeviceConversionMeasurementWithPhoneNumber“Startet die On-Device-Conversion-Messung mit einer Telefonnummer.
Nur für iOS verfügbar.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithPhoneNumber({ phoneNumber: '+15555550123' });initiateOnDeviceConversionMeasurementWithHashedEmailAddress
Abschnitt „initiateOnDeviceConversionMeasurementWithHashedEmailAddress“Startet die On-Device-Conversion-Messung mit einer gehashten E-Mail-Adresse.
Nur für iOS verfügbar.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithHashedEmailAddress({ emailAddressToHash: 'user@example.com' });initiateOnDeviceConversionMeasurementWithHashedPhoneNumber
Abschnitt „initiateOnDeviceConversionMeasurementWithHashedPhoneNumber“Startet die On-Device-Conversion-Messung mit einer gehashten Telefonnummer.
Nur für iOS verfügbar.
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithHashedPhoneNumber({ phoneNumberToHash: '+15555550123' });Typreferenz
Abschnitt mit dem Titel „Typreferenz“GetAppInstanceIdResult
Abschnitt „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
Abschnitt „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
Abschnitt „SetConsentOptions“export interface SetConsentOptions { /** * The consent type. * * @since 6.0.0 */ type: ConsentType; /** * The consent status. * * @since 6.0.0 */ status: ConsentStatus;}SetUserIdOptions
Abschnitt „SetUserIdOptions“export interface SetUserIdOptions { /** * @since 0.1.0 */ userId: string | null;}SetUserPropertyOptions
Abschnitt „SetUserPropertyOptions“export interface SetUserPropertyOptions { /** * @since 0.1.0 */ key: string; /** * @since 0.1.0 */ value: string | null;}SetCurrentScreenOptions
Abschnitt „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
Abschnitt „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
Abschnitt „SetSessionTimeoutDurationOptions“export interface SetSessionTimeoutDurationOptions { /** * Duration in seconds. * * @default 1800 * @since 0.1.0 */ duration: number;}SetEnabledOptions
Abschnitt „SetEnabledOptions“export interface SetEnabledOptions { /** * @since 0.1.0 */ enabled: boolean;}IsEnabledResult
Abschnitt „IsEnabledResult“export interface IsEnabledResult { /** * @since 0.1.0 */ enabled: boolean;}InitiateOnDeviceConversionMeasurementWithEmailAddressOptions
Abschnitt „InitiateOnDeviceConversionMeasurementWithEmailAddressOptions“export interface InitiateOnDeviceConversionMeasurementWithEmailAddressOptions { /** * The email address to initiate on-device conversion measurement with. * * @since 7.2.0 */ emailAddress: string;}InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions
Abschnitt mit dem Titel „InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions“export interface InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions { /** * The phone number to initiate on-device conversion measurement with. * * @since 7.2.0 */ phoneNumber: string;}Source of Truth
Abschnitt mit dem Titel „Source of Truth“Diese Seite wird aus dem Plugin generiert src/definitions.ts. Führe den Sync erneut aus, wenn sich das öffentliche API upstream ändert.
Weiter geht's nach Getting Started
Abschnitt: „Weiter geht’s mit Getting Started“Wenn du es nutzt Erste Schritte um Dashboard- und API-Operationen zu planen, verbinde es mit API Übersicht für Details zur Implementierung im API Overview, Einführung für die Implementierungsdetails in der Einleitung, API Schlüssel für die Implementierungsdetails in API Keys, Geräte für die Implementierungsdetails in Devices und Bundles für die Implementierungsdetails in Bundles.