快速入门
复制包含安装步骤和该插件完整 Markdown 指南的配置 prompt。
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.
安装
“安装”章节你可以使用我们的 AI 辅助设置来安装插件。使用以下命令将 Capgo skills 添加到你的 AI 工具中:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins然后使用以下 prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-firebase-analytics` plugin in my project.如果你更想手动设置,请运行以下命令安装插件,并按照下方各平台的说明操作:
bun add @capgo/capacitor-firebase-analyticsnpx cap sync导入
“导入”章节import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';快速入门
章节标题为“快速入门”import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
const result = await FirebaseAnalytics.getAppInstanceId();console.log(result);示例:getSessionId
标题为“示例:getSessionId”的章节import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
const result = await FirebaseAnalytics.getSessionId();console.log(result);示例:setConsent
标题为“示例:setConsent”的章节import { FirebaseAnalytics, ConsentStatus, ConsentType } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setConsent({ type: ConsentType.AdPersonalization, status: ConsentStatus.Granted,});常见坑点
章节标题为“常见陷阱”- 原生同步:运行
npx cap sync在插件升级后。 - 唯一可信来源:信任
src/definitions.ts在 GitHub 仓库中。
API 概览
章节标题:“API 概览”getAppInstanceId
“getAppInstanceId” 部分获取应用实例 ID。
仅适用于 Android 和 iOS。
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
const result = await FirebaseAnalytics.getAppInstanceId();console.log(result);getSessionId
“getSessionId” 部分获取当前会话 ID(ga_session_id).
仅适用于 Android 和 iOS。
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
const result = await FirebaseAnalytics.getSessionId();console.log(result);setConsent
标题为 “setConsent” 的章节设置用户的同意模式。
import { FirebaseAnalytics, ConsentStatus, ConsentType } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setConsent({ type: ConsentType.AdPersonalization, status: ConsentStatus.Granted,});setUserId
标题为 “setUserId” 的章节设置用户 ID 属性。
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setUserId({ userId: 'user-id-123' });setUserProperty
标题为 “setUserProperty” 的章节将自定义用户属性设置为指定值。
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setUserProperty({ key: 'key-123', value: 'value',});setCurrentScreen
标题为 “setCurrentScreen” 的章节设置当前屏幕名称。
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setCurrentScreen({ screenName: 'screen' });logEvent
标题为“logEvent”的章节记录应用事件。
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.logEvent({ name: 'example' });setSessionTimeoutDuration
标题为“setSessionTimeoutDuration”的章节设置终止当前会话的闲置时长。
仅适用于 Android 和 iOS。
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setSessionTimeoutDuration({ duration: 1800 });setEnabled
标题为“setEnabled”的章节启用/禁用自动数据收集。 该值在下次启动应用时生效。
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.setEnabled({ enabled: true });isEnabled
“isEnabled” 章节返回是否已启用自动数据收集。
仅 Web 端可用。
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
const result = await FirebaseAnalytics.isEnabled();console.log(result);resetAnalyticsData
标题为 “resetAnalyticsData” 的章节清除该应用在此设备上的所有分析数据。 重置应用实例 ID。
仅适用于 Android 和 iOS。
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.resetAnalyticsData();initiateOnDeviceConversionMeasurementWithEmailAddress
标题为 “initiateOnDeviceConversionMeasurementWithEmailAddress” 的章节使用电子邮件地址启动设备端转化衡量。
仅适用于 iOS。
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithEmailAddress({ emailAddress: 'user@example.com' });initiateOnDeviceConversionMeasurementWithPhoneNumber
标题为 “initiateOnDeviceConversionMeasurementWithPhoneNumber” 的章节使用电话号码启动设备端转化衡量。
仅适用于 iOS。
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithPhoneNumber({ phoneNumber: '+15555550123' });initiateOnDeviceConversionMeasurementWithHashedEmailAddress
标题为 “initiateOnDeviceConversionMeasurementWithHashedEmailAddress” 的章节使用经过哈希处理的电子邮件地址启动设备端转化衡量。
仅适用于 iOS。
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithHashedEmailAddress({ emailAddressToHash: 'user@example.com' });initiateOnDeviceConversionMeasurementWithHashedPhoneNumber
标题为 “initiateOnDeviceConversionMeasurementWithHashedPhoneNumber” 的章节使用经过哈希处理的电话号码启动设备端转化衡量。
仅适用于 iOS。
import { FirebaseAnalytics } from '@capgo/capacitor-firebase-analytics';
await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithHashedPhoneNumber({ phoneNumberToHash: '+15555550123' });类型参考
“类型参考” 章节GetAppInstanceIdResult
标题为“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
标题为“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
标题为“SetConsentOptions”的章节export interface SetConsentOptions { /** * The consent type. * * @since 6.0.0 */ type: ConsentType; /** * The consent status. * * @since 6.0.0 */ status: ConsentStatus;}SetUserIdOptions
标题为“SetUserIdOptions”的章节export interface SetUserIdOptions { /** * @since 0.1.0 */ userId: string | null;}SetUserPropertyOptions
标题为“SetUserPropertyOptions”的章节export interface SetUserPropertyOptions { /** * @since 0.1.0 */ key: string; /** * @since 0.1.0 */ value: string | null;}SetCurrentScreenOptions
标题为“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
标题为“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
标题为“SetSessionTimeoutDurationOptions”的章节export interface SetSessionTimeoutDurationOptions { /** * Duration in seconds. * * @default 1800 * @since 0.1.0 */ duration: number;}SetEnabledOptions
标题为“SetEnabledOptions”的章节export interface SetEnabledOptions { /** * @since 0.1.0 */ enabled: boolean;}IsEnabledResult
“IsEnabledResult” 章节export interface IsEnabledResult { /** * @since 0.1.0 */ enabled: boolean;}InitiateOnDeviceConversionMeasurementWithEmailAddressOptions
标题为“InitiateOnDeviceConversionMeasurementWithEmailAddressOptions”的章节export interface InitiateOnDeviceConversionMeasurementWithEmailAddressOptions { /** * The email address to initiate on-device conversion measurement with. * * @since 7.2.0 */ emailAddress: string;}InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions
标题为“InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions”的章节export interface InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions { /** * The phone number to initiate on-device conversion measurement with. * * @since 7.2.0 */ phoneNumber: string;}单一事实来源
标题为“单一事实来源”的部分本页面由插件的 src/definitions.ts生成。当上游的公共 API 发生变化时,请重新运行 sync。
从入门指南继续
“从入门指南继续”章节如果你正在使用 快速入门 要规划 dashboard 和 API 操作,请将其连接到 API 概览 关于 API Overview 中的实现细节, 简介 关于 Introduction 中的实现细节, API 密钥 有关 API Keys 的实现细节, 设备 有关 Devices 的实现细节,以及 Bundle 有关 Bundles 中的实现细节。