@capacitor-firebase/analytics

中文文档
8.6.0发布于 2026/10/31Apache-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 39.9万

在Android,iOS,和Web上用于Firebase Analytics的电容插件.

中文使用文档
文档目录45 节
  1. 使用大小写
  2. 兼容性
  3. 指南
  4. 安装
  5. 机器人
  6. iOS系统
  7. 配置
  8. 演示
  9. 使用量
  10. 日志事件
  11. 音轨屏幕
  12. 识别用户
  13. 管理数据收集
  14. 配置会话超时
  15. 启动设备转换测量
  16. API 密码
  17. 获取 AppInstanceId ()
  18. 约定(...)
  19. set 用户(...)
  20. 用户 Property (...)
  21. 设置当前Screen(...)
  22. 日志事件(...)
  23. 设定会议时间间隔(...)
  24. 设置可启用(...)
  25. 已启用
  26. 重置分析数据Data ()
  27. 日志交易(...)
  28. 启动 EmailAddress (...)
  29. 启动 OnDevice 转换计量与Phone 数字(...)
  30. 启动 On Device Conversion Measurement with Hashed 电子邮件地址(...)
  31. 启动使用HashedPhone Number (.) 进行的Device转换计量
  32. 接口
  33. 数字
  34. 测试您的执行
  35. 财务问题
  36. 我如何证实我的事件被记录下来?
  37. 我如何禁用分析数据收集?
  38. 我如何设定用户的同意模式 ?
  39. 为什么没有定义应用实例 ID ?
  40. 我如何禁用广告 ID或IDFA收藏?
  41. 我能用这个插件吗? 有Ionic、React、Vue或Angular?
  42. 相关插件
  43. 通讯
  44. 更改日志
  45. 许可证

电容火碱分析插件

非官方电容插件 火场分析[^1]

使用大小写

Firebase Analytics插件一般用来理解用户如何与您的应用程序互动,例如:

  • 事件跟踪: 使用自定义参数登录应用程序事件,例如签名 logEvent(...)。 。 。 .
  • 屏幕跟踪: 记录用户访问的屏幕 setCurrentScreen(...)。 。 。 .
  • 观众分门别类: 指定用户ID和自定义用户属性来分割用户.
  • 同意管理:设置用户的同意模式并允许或禁用数据收集以遵守隐私要求.
  • 换算计量: 启动在iOS上使用电子邮件地址或电话号码进行设备转换测量.

兼容性

插件版本电容版本状态
8.x.x (英语)>=8.x.x积极支持
7.x.x (中文(简体) )7.x.x (中文(简体) )折旧
6.x.x (中文(简体) )6.x.x (中文(简体) )折旧
5.x.x (中文(简体) )5.x.x (中文(简体) )折旧
1.x.x (中文(简体) )4.x.x (中文(简体) )折旧

指南

安装

你可以用我们的 AI 辅助设置 以安装插件. 添加数据 超级技能 至您的 AI 工具,使用以下命令:

npx skills add capawesome-team/skills --skill capacitor-plugins

然后使用下列提示:

Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capacitor-firebase/analytics` plugin in my project.

如果你喜欢 手动设置,通过运行以下命令来安装插件,并遵循下面的平台特定指令:

npm install @capacitor-firebase/analytics firebase
npx cap sync

如果您还没有将 Firebase 添加到您的项目中(机器人 编号 : iOS系统 编号 : 网页) (中文(简体) ).

机器人

禁用分析数据收集

见 禁用分析数据收集 如果您想要禁用分析数据收集.

禁用广告ID收藏

见 禁用广告ID收藏 如果您想要禁用广告ID收藏.

变量

如果需要, 您可以在您的应用程序中定义以下工程变量 variables.gradle 要更改依赖的默认版本的文件 :

  • $firebaseAnalyticsVersion 版本 com.google.firebase:firebase-analytics (默认 : 23.0.0(中文(简体) )

如果您在工程中遇到其它插件的依赖性冲突, 这会有所帮助 .

iOS系统

Swift 软件包管理器

在您的 capacitor.config.json (或 capacitor.config.ts) 避免 SwiftPM 软件包识别相撞数字 :

{
  "experimental": {
    "ios": {
      "spm": {
        "packageOptions": {
          "@capacitor-firebase/analytics": {
            "symlink": true
          }
        }
      }
    }
  }
}

请注意目标 packageOptions 支持需要控制器 CLI 8.4.0+ (中文(简体) )。 。 。 .

使用时 可可罂粟 对于您的 iOS 项目, 您需要添加 CapacitorFirebaseAnalytics/Analytics 锁定到您的 Podfile (通常情况) ios/App/Podfile:

target 'App' do
capacitor_pods
# Add your Pods here
+  pod 'CapacitorFirebaseAnalytics/Analytics', :path => '../../node_modules/@capacitor-firebase/analytics'
end

请注意: 不要在区域中添加吊舱 def capacitor_pods,但在评论中 # Add your Pods here (单位:千美元)实例) (中文(简体) ).

禁用分析数据收集

见 禁用分析数据收集 如果您想要禁用分析数据收集.

禁用 IDFA 收藏

使用时 可可罂粟 您想要禁用 IDFA 收藏的 iOS 项目, 您可以使用 CapacitorFirebaseAnalytics/AnalyticsWithoutAdIdSupport 替换为 CapacitorFirebaseAnalytics/Analytics 舱位 :

target 'App' do
capacitor_pods
# Add your Pods here
-  pod 'CapacitorFirebaseAnalytics/Analytics', :path => '../../node_modules/@capacitor-firebase/analytics'
+  pod 'CapacitorFirebaseAnalytics/AnalyticsWithoutAdIdSupport', :path => '../../node_modules/@capacitor-firebase/analytics'
end

使用时 Swift 软件包管理器 您想要禁用 IDFA 收藏, 您可以启用 AnalyticsWithoutAdIdSupport 你的特质 capacitor.config.json (或 capacitor.config.ts:

{
  "experimental": {
    "ios": {
      "spm": {
        "swiftToolsVersion": "6.1",
        "packageTraits": {
          "@capacitor-firebase/analytics": ["AnalyticsWithoutAdIdSupport"]
        }
      }
    }
  }
}

说明: SPM 特性支持需要Capacitor CLI 8.3.0+ (中文(简体) ) 和 X 代码 16.3+ (简体中文) (Swift 6.1+) (英语).

配置

此插件不需要配置 .

演示

这里有一个实例: robingenz/电容器-火力基地-插座-demo

使用量

以下例子显示如何记录事件,跟踪屏幕,识别用户,管理数据收集,配置会话超时,并启动在设备上转换测量.

日志事件

登录带有名称和可选参数的应用程序事件 :

import { FirebaseAnalytics } from '@capacitor-firebase/analytics';

const logEvent = async () => {
  await FirebaseAnalytics.logEvent({
    name: 'sign_up',
    params: { method: 'password' },
  });
};

音轨屏幕

设定当前屏幕名称以记录屏幕用户访问的屏幕 。 这个 screenClassOverride 选项仅可在Android和iOS上使用:

import { FirebaseAnalytics } from '@capacitor-firebase/analytics';

const setCurrentScreen = async () => {
  await FirebaseAnalytics.setCurrentScreen({
    screenName: 'Login',
    screenClassOverride: 'LoginPage',
  });
};

识别用户

设定用户ID属性和自定义用户属性以分割您的用户 :

import { FirebaseAnalytics } from '@capacitor-firebase/analytics';

const setUserId = async () => {
  await FirebaseAnalytics.setUserId({
    userId: '123',
  });
};

const setUserProperty = async () => {
  await FirebaseAnalytics.setUserProperty({
    key: 'language',
    value: 'en',
  });
};

管理数据收集

启用或禁用自动数据收集( 值在应用程序的下个运行之前不会应用) , 检查是否启用( 仅在 Web 上可用) , 或清除设备中的所有分析数据( 仅在 Android 和 iOS 上可用) :

import { FirebaseAnalytics } from '@capacitor-firebase/analytics';

const setEnabled = async () => {
  await FirebaseAnalytics.setEnabled({
    enabled: true,
  });
};

const isEnabled = async () => {
  const { enabled } = await FirebaseAnalytics.isEnabled();
  return enabled;
};

const resetAnalyticsData = async () => {
  await FirebaseAnalytics.resetAnalyticsData();
};

配置会话超时

设定终止当前会话的不活动持续时间 。 仅在Android和iOS上提供:

import { FirebaseAnalytics } from '@capacitor-firebase/analytics';

const setSessionTimeoutDuration = async () => {
  await FirebaseAnalytics.setSessionTimeoutDuration({
    duration: '120',
  });
};

启动设备转换测量

以平面或散列的电子邮件地址或电话号码启动设备转换测量。 仅在iOS上可用 :

import { FirebaseAnalytics } from '@capacitor-firebase/analytics';

const initiateOnDeviceConversionMeasurementWithEmailAddress = async () => {
  await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithEmailAddress({
    emailAddress: '[email protected]',
  });
};

const initiateOnDeviceConversionMeasurementWithPhoneNumber = async () => {
  await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithPhoneNumber({
    phoneNumber: '+49123456789',
  });
};

const initiateOnDeviceConversionMeasurementWithHashedEmailAddress = async () => {
  await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithHashedEmailAddress({
    emailAddressToHash: '[email protected]',
  });
};

const initiateOnDeviceConversionMeasurementWithHashedPhoneNumber = async () => {
  await FirebaseAnalytics.initiateOnDeviceConversionMeasurementWithHashedPhoneNumber({
    phoneNumberToHash: '+49123456789',
  });
};

API 密码

获取 AppInstanceId ()

getAppInstanceId() => Promise<GetAppInstanceIdResult>

获取应用实例 ID .

仅供Android和iOS使用.

回返情况: Promise<GetAppInstanceIdResult>

自: 1.4.0 (中文(简体) )


约定(...)

setConsent(options: SetConsentOptions) => Promise<void>

设置用户的同意模式.

参数类型
optionsSetConsentOptions

自: 6.0.0 (单位:千美元)


set 用户(...)

setUserId(options: SetUserIdOptions) => Promise<void>

设置用户标识属性.

参数类型
optionsSetUserIdOptions

自: 0.1.0 (中文(简体) )


用户 Property (...)

setUserProperty(options: SetUserPropertyOptions) => Promise<void>

设置自定义用户属性为给定值.

参数类型
optionsSetUserPropertyOptions

自: 0.1.0 (中文(简体) )


设置当前Screen(...)

setCurrentScreen(options: SetCurrentScreenOptions) => Promise<void>

设置当前屏幕名称.

参数类型
optionsSetCurrentScreenOptions

自: 0.1.0 (中文(简体) )


日志事件(...)

logEvent(options: LogEventOptions) => Promise<void>

记录一个应用事件.

参数类型
optionsLogEventOptions

自: 0.1.0 (中文(简体) )


设定会议时间间隔(...)

setSessionTimeoutDuration(options: SetSessionTimeoutDurationOptions) => Promise<void>

设定结束当前会话的不活动持续时间 .

仅供Android和iOS使用.

参数类型
optionsSetSessionTimeoutDurationOptions

自: 0.1.0 (中文(简体) )


设置可启用(...)

setEnabled(options: SetEnabledOptions) => Promise<void>

启用/ 无法自动收集数据 . 该值在应用程序的下一轮运行之前不应用 .

参数类型
optionsSetEnabledOptions

自: 0.1.0 (中文(简体) )


已启用

isEnabled() => Promise<IsEnabledResult>

返回是否启用自动数据收集.

仅供Web使用.

回返情况: Promise<IsEnabledResult>

自: 0.1.0 (中文(简体) )


重置分析数据Data ()

resetAnalyticsData() => Promise<void>

从设备中清除此应用程序的所有分析数据 . 恢复应用程序实例 ID .

仅供Android和iOS使用.

自: 0.1.0 (中文(简体) )


日志交易(...)

logTransaction(options: LogTransactionOptions) => Promise<void>

记录 a StoreKit 2 交易.

仅供iOS(1.5.0+)使用.

参数类型
optionsLogTransactionOptions

自: 8.2.0 (中文(简体) )


启动 EmailAddress (...)

initiateOnDeviceConversionMeasurementWithEmailAddress(options: InitiateOnDeviceConversionMeasurementWithEmailAddressOptions) => Promise<void>

用电子邮件地址启动设备转换测量 .

仅供iOS使用.

参数类型
optionsInitiateOnDeviceConversionMeasurementWithEmailAddressOptions

自: 7.2.0 联合国


启动 OnDevice 转换计量与Phone 数字(...)

initiateOnDeviceConversionMeasurementWithPhoneNumber(options: InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions) => Promise<void>

用电话号码启动设备转换测量.

仅供iOS使用.

参数类型
optionsInitiateOnDeviceConversionMeasurementWithPhoneNumberOptions

自: 7.2.0 联合国


启动 On Device Conversion Measurement with Hashed 电子邮件地址(...)

initiateOnDeviceConversionMeasurementWithHashedEmailAddress(options: InitiateOnDeviceConversionMeasurementWithHashedEmailAddressOptions) => Promise<void>

用一个散列的电子邮件地址启动设备转换测量 .

仅供iOS使用.

参数类型
optionsInitiateOnDeviceConversionMeasurementWithHashedEmailAddressOptions

自: 7.2.0 联合国


启动使用HashedPhone Number (.) 进行的Device转换计量

initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(options: InitiateOnDeviceConversionMeasurementWithHashedPhoneNumberOptions) => Promise<void>

用散列电话号码启动设备转换测量.

仅供iOS使用.

参数类型
optionsInitiateOnDeviceConversionMeasurementWithHashedPhoneNumberOptions

自: 7.2.0 联合国


接口

获取AppInstanceId 结果

Prop类型说明自兹
appInstanceIdstring应用实例 ID。 未定义如果 FirebaseAnalytics.<a href="#consenttype">ConsentType</a>.ANALYTICS_STORAGE 已设定为 FirebaseAnalytics.<a href="#consentstatus">ConsentStatus</a>.DENIED。 。 。 .1.4.0 (中文(简体) )

设定同意选项

Prop类型说明自兹
typeConsentType同意类型.6.0.0 (单位:千美元)
statusConsentStatus同意地位.6.0.0 (单位:千美元)

设置用户选择

Prop类型自兹
userIdstring | null0.1.0 (中文(简体) )

配置用户

Prop类型自兹
keystring0.1.0 (中文(简体) )
valuestring | null0.1.0 (中文(简体) )

设置当前选择

Prop类型说明默认自兹
screenNamestring | null0.1.0 (中文(简体) )
screenClassOverridestring | null仅供Android和iOS使用.null0.1.0 (中文(简体) )

日志结果选项

Prop类型说明自兹
namestring事件名称.0.1.0 (中文(简体) )
params{ [key: string]: any; }可选事件参数.0.1.0 (中文(简体) )

设定会议时间安排选项

Prop类型说明默认自兹
durationnumber持续数秒.18000.1.0 (中文(简体) )

设置可选选项

Prop类型自兹
enabledboolean0.1.0 (中文(简体) )

已启用结果

Prop类型自兹
enabledboolean0.1.0 (中文(简体) )

日志交易选项

Prop类型说明自兹
transactionIdstring仓库 Kit 2 Transaction.id 值作为数字字符串.8.2.0 (中文(简体) )

通过电子邮件地址管理选项启动设备转换计量

Prop类型说明自兹
emailAddressstring启动设备转换测量的电子邮件地址 .7.2.0 联合国

启动使用 Phone 数字选项的设备转换计量

Prop类型说明自兹
phoneNumberstring启动设备转换测量的电话号码 .7.2.0 联合国

启动 HashedEmail 地址管理选项

Prop类型说明自兹
emailAddressToHashstring启动设备转换测量的电子邮件地址 .7.2.0 联合国

启动使用 HashedPhone 选项的服务器转换计量

Prop类型说明自兹
phoneNumberToHashstring启动设备转换测量的电话号码 .7.2.0 联合国

数字

同意类型

成员数值自兹
AdPersonalization'AD_PERSONALIZATION'6.0.0 (单位:千美元)
AdStorage'AD_STORAGE'6.0.0 (单位:千美元)
AdUserData'AD_USER_DATA'6.0.0 (单位:千美元)
AnalyticsStorage'ANALYTICS_STORAGE'6.0.0 (单位:千美元)
FunctionalityStorage'FUNCTIONALITY_STORAGE'6.0.0 (单位:千美元)
PersonalizationStorage'PERSONALIZATION_STORAGE'6.0.0 (单位:千美元)

状况

成员数值自兹
Granted'GRANTED'6.0.0 (单位:千美元)
Denied'DENIED'6.0.0 (单位:千美元)

测试您的执行

给 您可找到更多信息,说明如何使用 调试视图。 。 。 .

财务问题

我如何证实我的事件被记录下来?

使用 调试视图 在Firebase控制台 检查事件 当它们记录在您的应用程序。 见 调试维尤文档 以了解更多关于如何测试您的火库分析实施情况的信息.

我如何禁用分析数据收集?

您可以在运行时启用或禁用自动数据收集 setEnabled(...) 方法; 注意该值在应用程序的下一次运行之前不适用。 要默认禁用数据收集, 请遵循连接在 安装 用于Android和iOS的章节.

打电话 setConsent(...) (a) 同意类型(例如分析存储或广告存储)和同意地位(给予或拒绝)。 这使得您可以管理根据用户同意收集的数据.

为什么没有定义应用实例 ID ?

这个 appInstanceId 返回时间 getAppInstanceId() 如果分析存储同意类型被设定为通过 setConsent(...)5. 还注意到 getAppInstanceId() 仅在Android和iOS上提供.

我如何禁用广告 ID或IDFA收藏?

Android上,跟着 禁用广告ID收藏 向导。 在iOS上,请使用 CapacitorFirebaseAnalytics/AnalyticsWithoutAdIdSupport 替换为 CapacitorFirebaseAnalytics/Analytics 使用可口可乐Pods或启用 AnalyticsWithoutAdIdSupport 如果您使用 Swift 软件包管理器, 则包的特性 。 见 安装 详细情况.

我能用这个插件吗? 有Ionic、React、Vue或Angular?

是的,插件是框架不可知的。 它在任意网络框架的Capacitor app中工作,包括有Angular,React,或Vue的Ionic,以及平版JavaScript等项目.

通讯

随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 《卡帕索克通讯》。 。 。 .

更改日志

见 变动情况。 。 。 .

许可证

见 自由主义。 。 。 .

[^1]: 这个项目不附属于Google LLC或其任何子公司或子公司,也不获得其认可、支持、赞助或批准.

版本与发布记录

@capacitor-firebase/analytics 共发布 58 个版本,首次发布于 2022/03/20;过去 12 个月发布了 14 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.6.0latest2026/10/319 天前
8.5.22026/09/171 个月前
8.5.12026/09/022 个月前
8.5.02026/08/312 个月前
8.4.02026/08/122 个月前
8.3.02026/06/045 个月前

其他发布通道:dev → 7.0.0-dev.1765901228。

关于 @capacitor-firebase/analytics 的常见问题

@capacitor-firebase/analytics 是什么?

在Android,iOS,和Web上用于Firebase Analytics的电容插件.

如何安装 @capacitor-firebase/analytics?

在项目目录运行 npm install @capacitor-firebase/analytics,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(>=8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@capacitor-firebase/analytics 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@capacitor-firebase/analytics 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@capacitor-firebase/analytics 可以商用吗?

@capacitor-firebase/analytics 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@capacitor-firebase/analytics 的下载量有多少?

根据 npm 官方下载统计,@capacitor-firebase/analytics 在 2026/10/09 – 2026/11/07 这 30 天内被下载 399,370 次,日均约 13,312 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@capacitor-firebase/analytics 还在维护吗?

最新版本 8.6.0 发布于 2026/10/31(9 天前);至今共发布 58 个版本,其中过去 12 个月发布了 14 个;首次发布于 2022/03/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。