- 版本: 3.3.2
- GitHub: https://github.com/NativeScript/firebase
- NPM: https://npmjs.net.cn/package/%40nativescript%2Ffirebase-analytics
- 下载
- 昨天: 177
- 上周: 1131
- 上个月: 3996
@nativescript/firebase-analytics
简介
此插件允许您将 Firebase 的 Google Analytics 添加到您的应用中。
注意:请与 @nativescript/firebase-core 插件一起使用此插件以在您的应用中初始化 Firebase。
分析收集您应用的用法和行为数据。其主要关注点包括
-
事件:这些是在您的应用中发生的事件,例如用户操作、系统事件或错误。Google Analytics 收集三种类型事件的详细信息:自动收集、推荐 和 自定义 事件。
-
用户属性:您定义的属性,用于描述您的用户基础中的各个部分,例如语言偏好或地理位置。
安装
通过在项目的根目录中运行以下命令安装插件。
npm install @nativescript/firebase-analytics
使用 @nativescript/firebase-analytics
以下示例展示了如何使用 @nativescript/firebase-analytics
记录自定义和预定义事件。
记录自定义事件
分析还允许开发者记录自定义事件。如果您已经熟悉 Google Analytics,此方法相当于在 gtag.js 中使用事件命令。
要向分析记录自定义事件,请调用 logEvent
方法,在 分析 类的实例上传递自定义事件名称作为第一个参数,事件数据对象作为第二个参数。
请注意,原始数据类型或原始数据类型的数组将在您的 Firebase 分析控制台中记录。
import { firebase } from '@nativescript/firebase-core';
import '@nativescript/firebase-analytics';
firebase()
.analytics()
.logEvent('basket', {
id: 3745092,
item: 'mens grey t-shirt',
description: ['round neck', 'long sleeved'],
size: 'L',
});
调用 logEvent
后,请查找事件名称在分析实时数据中是否已记录。
记录预定义事件
为了帮助您入门,Google Analytics 会自动记录不同类型应用中常见的事件,包括零售和电子商务、旅行和游戏应用。
要记录预定义事件,请调用 Analytics
类实例上的 logEvent
方法,传递事件名称和 事件数据 对象。
以下示例演示了记录 select_content 事件。
import { firebase } from '@nativescript/firebase-core';
// Logs in the firebase analytics console as "select_content" event
// only accepts the two object properties which accept strings.
firebase().analytics().logEvent('select_content', {
content_type: 'clothing',
item_id: 'abcd',
});
调用 logEvent
后,请查找事件名称在分析实时数据中是否已记录。
保留事件
在分析中,自动记录的事件名称被称为 保留事件。使用这些名称创建自定义事件会导致错误。以下是一些保留事件名称
保留事件名称 |
---|
app_clear_data |
error |
first_open_time |
notification_dismiss |
notification_receive |
screen_view |
ad_click |
adunit_exposure |
了解更多保留事件名称,请访问 事件命名规则。
获取应用实例 ID
要获取应用程序实例 ID,请调用 getAppInstanceId
方法。如果 ConsentType.Analytics_Storage = ConsentStatus.Denied
,则在 Android 上返回 null
。
import { firebase } from '@nativescript/firebase-core';
const appInstanceId = firebase().analytics().getAppInstanceId();
在 iOS 上禁用广告商标识符的跟踪使用
苹果公司严格禁止包含访问广告商标识符(IDFA)iOS 符号的任何应用程序进入儿童类别。
此外,如果应用程序访问 IDFA iOS 符号,则必须实现苹果公司的 App Tracking Transparency(或 ATT
)。然而,如果应用程序不使用 IDFA 且以与 ATT 兼容的方式处理数据,则可消除此 ATT 要求。
如果您需要避免使用 IDFA 同时仍使用分析,请在您的 Podfile 中定义以下变量
$NSFirebaseAnalyticsWithoutAdIdSupport = true
在 pod 安装过程中,使用该变量安装了一个新的 Analytics With No Ad Ids
pod,该 pod 由 firebase-ios-sdk 团队创建,并允许在儿童类别应用程序中使用 Firebase Analytics 以及无需处理 App Tracking Transparency(假设应用程序的其它部分不处理需要 ATT 的数据)
注意,使用 IDFA 之外的 Firebase Analytics 不兼容 AdMob。
演示应用
您可以在 这里 找到示例应用程序。
分析类
该插件通过 Analytics 类为您提供 Firebase Analytics 的管理。Analytics 类具有以下属性和方法。
属性
属性 | 类型 |
---|---|
appInstanceId |
字符串 |
logEvent()
firebase().analytics()
.logEvent(name, parameters)
将指定的事件数据发送到 Google Analytics。
参数 | 类型 | 描述 |
---|---|---|
name |
字符串 |
要记录的事件的名称。 |
parameters |
事件参数 | 指定事件数据的对象。有关保留事件的 parameters 支持属性列表,请访问 FirebaseAnalytics.Param Constants Summary。 |
setUserId()
firebase().analytics().setUserId(userId)
允许您为使用您的应用程序的个人存储用户 ID。有关设置用户 ID 的更多信息,请访问 此处。
resetAnalyticsData()
firebase().analytics().resetAnalyticsData()
请参阅 此处 的描述。
setAnalyticsCollectionEnabled()
firebase().analytics().setAnalyticsCollectionEnabled(analyticsCollectionEnabled: boolean)
这是一个用于手动启用或禁用分析数据收集的方法。
analyticsCollectionEnabled
:一个boolean
值。如果设置为true
,则收集分析数据。如果设置为false
,则禁用分析数据收集。
setUserProperty()
firebase().analytics().setUserProperty(name: string, value: string)
设置用户属性。有关更多信息,请参阅 设置用户属性。
参数 | 类型 | 描述 |
---|---|---|
name |
字符串 |
要设置的属性名称。 |
value |
字符串 |
用户属性的值。 |
setSessionTimeoutInterval()
firebase().analytics().setSessionTimeoutInterval(sessionTimeoutInterval: number)
请参阅 setSessionTimeoutDuration 的描述。
参数 | 类型 | 描述 |
---|---|---|
sessionTimeoutInterval |
数字 |
不活动的持续时间,以毫秒为单位。默认为 1800000 (30 分钟)。 |
setDefaultEventParameters()
firebase().analytics().setDefaultEventParameters(parameters)
请参阅 此处 的描述。
参数 | 类型 | 描述 |
---|---|---|
parameters |
事件参数 | 参数对象。有关保留事件的 parameters 支持属性列表,请访问 FirebaseAnalytics.Param Constants Summary。 |
事件参数
interface EventParameter {
[key: string]: any;
}
setConsent()
firebase().analytics().setConsent(consentSettings)
请参阅 此处 的描述。
参数 | 类型 | 描述 |
---|---|---|
consentSettings |
Map<ConsentType,ConsentStatus> |
ConsentType
enum ConsentType {
Ad_Storage,
Analytics_Storage,
Ad_User_Data,
Ad_Personalization,
}
ConsentStatus
enum ConsentStatus {
Denied,
Granted,
}
handleOpenURL()
firebase().analytics().handleOpenURL(url)
(iOS 特定
)处理应用程序通过 URL 启动时的事件。
参数 | 类型 | 描述 |
---|---|---|
url |
字符串 |
打开应用程序的 URL。 |
handleUserActivity()
firebase().analytics().handleUserActivity(userActivity)
(仅限iOS
)处理应用接收到与用户活动相关的数据的事件,该数据包括通用链接(在iOS 9.0及以上版本中)。
参数 | 类型 | 描述 |
---|---|---|
userActivity |
任何 |
打开应用程序的 URL。 |
许可
Apache许可证版本2.0