电容火碱分析插件
非官方电容插件 火场分析[^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 (中文(简体) ) | 折旧 |
指南
- Capacitor 中带有火基分析的跟踪 App事件:记录事件,跟踪屏幕,并用这个插件设置观众分区.
- 如何在电容App中使用火把: Analytics 坐在其他Firebase插件中的位置,哪些团队通常会同时加入.
安装
你可以用我们的 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 密码
getAppInstanceId()setConsent(...)setUserId(...)setUserProperty(...)setCurrentScreen(...)logEvent(...)setSessionTimeoutDuration(...)setEnabled(...)isEnabled()resetAnalyticsData()logTransaction(...)initiateOnDeviceConversionMeasurementWithEmailAddress(...)initiateOnDeviceConversionMeasurementWithPhoneNumber(...)initiateOnDeviceConversionMeasurementWithHashedEmailAddress(...)initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(...)- 接口
- 数字
获取 AppInstanceId ()
getAppInstanceId() => Promise<GetAppInstanceIdResult>
获取应用实例 ID .
仅供Android和iOS使用.
回返情况: Promise<GetAppInstanceIdResult>
自: 1.4.0 (中文(简体) )
约定(...)
setConsent(options: SetConsentOptions) => Promise<void>
设置用户的同意模式.
| 参数 | 类型 |
|---|---|
options | SetConsentOptions |
自: 6.0.0 (单位:千美元)
set 用户(...)
setUserId(options: SetUserIdOptions) => Promise<void>
设置用户标识属性.
| 参数 | 类型 |
|---|---|
options | SetUserIdOptions |
自: 0.1.0 (中文(简体) )
用户 Property (...)
setUserProperty(options: SetUserPropertyOptions) => Promise<void>
设置自定义用户属性为给定值.
| 参数 | 类型 |
|---|---|
options | SetUserPropertyOptions |
自: 0.1.0 (中文(简体) )
设置当前Screen(...)
setCurrentScreen(options: SetCurrentScreenOptions) => Promise<void>
设置当前屏幕名称.
| 参数 | 类型 |
|---|---|
options | SetCurrentScreenOptions |
自: 0.1.0 (中文(简体) )
日志事件(...)
logEvent(options: LogEventOptions) => Promise<void>
记录一个应用事件.
| 参数 | 类型 |
|---|---|
options | LogEventOptions |
自: 0.1.0 (中文(简体) )
设定会议时间间隔(...)
setSessionTimeoutDuration(options: SetSessionTimeoutDurationOptions) => Promise<void>
设定结束当前会话的不活动持续时间 .
仅供Android和iOS使用.
| 参数 | 类型 |
|---|---|
options | SetSessionTimeoutDurationOptions |
自: 0.1.0 (中文(简体) )
设置可启用(...)
setEnabled(options: SetEnabledOptions) => Promise<void>
启用/ 无法自动收集数据 . 该值在应用程序的下一轮运行之前不应用 .
| 参数 | 类型 |
|---|---|
options | SetEnabledOptions |
自: 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+)使用.
| 参数 | 类型 |
|---|---|
options | LogTransactionOptions |
自: 8.2.0 (中文(简体) )
启动 EmailAddress (...)
initiateOnDeviceConversionMeasurementWithEmailAddress(options: InitiateOnDeviceConversionMeasurementWithEmailAddressOptions) => Promise<void>
用电子邮件地址启动设备转换测量 .
仅供iOS使用.
| 参数 | 类型 |
|---|---|
options | InitiateOnDeviceConversionMeasurementWithEmailAddressOptions |
自: 7.2.0 联合国
启动 OnDevice 转换计量与Phone 数字(...)
initiateOnDeviceConversionMeasurementWithPhoneNumber(options: InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions) => Promise<void>
用电话号码启动设备转换测量.
仅供iOS使用.
| 参数 | 类型 |
|---|---|
options | InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions |
自: 7.2.0 联合国
启动 On Device Conversion Measurement with Hashed 电子邮件地址(...)
initiateOnDeviceConversionMeasurementWithHashedEmailAddress(options: InitiateOnDeviceConversionMeasurementWithHashedEmailAddressOptions) => Promise<void>
用一个散列的电子邮件地址启动设备转换测量 .
仅供iOS使用.
| 参数 | 类型 |
|---|---|
options | InitiateOnDeviceConversionMeasurementWithHashedEmailAddressOptions |
自: 7.2.0 联合国
启动使用HashedPhone Number (.) 进行的Device转换计量
initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(options: InitiateOnDeviceConversionMeasurementWithHashedPhoneNumberOptions) => Promise<void>
用散列电话号码启动设备转换测量.
仅供iOS使用.
| 参数 | 类型 |
|---|---|
options | InitiateOnDeviceConversionMeasurementWithHashedPhoneNumberOptions |
自: 7.2.0 联合国
接口
获取AppInstanceId 结果
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
appInstanceId | string | 应用实例 ID。 未定义如果 FirebaseAnalytics.<a href="#consenttype">ConsentType</a>.ANALYTICS_STORAGE 已设定为 FirebaseAnalytics.<a href="#consentstatus">ConsentStatus</a>.DENIED。 。 。 . | 1.4.0 (中文(简体) ) |
设定同意选项
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
type | ConsentType | 同意类型. | 6.0.0 (单位:千美元) |
status | ConsentStatus | 同意地位. | 6.0.0 (单位:千美元) |
设置用户选择
| Prop | 类型 | 自兹 |
|---|---|---|
userId | string | null | 0.1.0 (中文(简体) ) |
配置用户
| Prop | 类型 | 自兹 |
|---|---|---|
key | string | 0.1.0 (中文(简体) ) |
value | string | null | 0.1.0 (中文(简体) ) |
设置当前选择
| Prop | 类型 | 说明 | 默认 | 自兹 |
|---|---|---|---|---|
screenName | string | null | 0.1.0 (中文(简体) ) | ||
screenClassOverride | string | null | 仅供Android和iOS使用. | null | 0.1.0 (中文(简体) ) |
日志结果选项
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
name | string | 事件名称. | 0.1.0 (中文(简体) ) |
params | { [key: string]: any; } | 可选事件参数. | 0.1.0 (中文(简体) ) |
设定会议时间安排选项
| Prop | 类型 | 说明 | 默认 | 自兹 |
|---|---|---|---|---|
duration | number | 持续数秒. | 1800 | 0.1.0 (中文(简体) ) |
设置可选选项
| Prop | 类型 | 自兹 |
|---|---|---|
enabled | boolean | 0.1.0 (中文(简体) ) |
已启用结果
| Prop | 类型 | 自兹 |
|---|---|---|
enabled | boolean | 0.1.0 (中文(简体) ) |
日志交易选项
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
transactionId | string | 仓库 Kit 2 Transaction.id 值作为数字字符串. | 8.2.0 (中文(简体) ) |
通过电子邮件地址管理选项启动设备转换计量
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
emailAddress | string | 启动设备转换测量的电子邮件地址 . | 7.2.0 联合国 |
启动使用 Phone 数字选项的设备转换计量
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
phoneNumber | string | 启动设备转换测量的电话号码 . | 7.2.0 联合国 |
启动 HashedEmail 地址管理选项
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
emailAddressToHash | string | 启动设备转换测量的电子邮件地址 . | 7.2.0 联合国 |
启动使用 HashedPhone 选项的服务器转换计量
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
phoneNumberToHash | string | 启动设备转换测量的电话号码 . | 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等项目.
相关插件
- 火基地应用: 访问Firebase核心应用程序配置.
- 火灾基地崩溃:跟踪并报告应用软件与火地崩溃.
- 基地性能监测:用"火地性能监测"测量您的应用的性能.
- 远程配置: 在不发布应用程序更新的情况下改变您应用程序的行为和外观.
通讯
随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 《卡帕索克通讯》。 。 。 .
更改日志
见 变动情况。 。 。 .
许可证
见 自由主义。 。 。 .
[^1]: 这个项目不附属于Google LLC或其任何子公司或子公司,也不获得其认可、支持、赞助或批准.