- 版本:3.2.9
- GitHub: https://github.com/NativeScript/firebase
- NPM: https://npmjs.net.cn/package/%40nativescript-asharghi%2Ffirebase-analytics
- 下载
- 昨天:1
- 上周:1
- 上个月:13
@nativescript-asharghi/firebase-analytics
简介
此插件允许您将 Firebase 分析 添加到您的应用程序。
注意:请使用 @nativescript-asharghi/firebase-core 插件与该插件一起初始化应用程序中的 Firebase。
分析收集您的应用程序的使用和行为数据。其两个主要关注点是
-
事件:这些是在您的应用程序中发生的事件,例如用户操作、系统事件或错误。Google Analytics 收集 3 种类型事件的详细信息:自动收集、推荐 和 自定义 事件。
-
用户属性:您定义的属性,用于描述用户群体的一部分,例如语言偏好或地理位置。
安装
在项目的根目录中运行以下命令以安装插件。
npm install @nativescript-asharghi/firebase-analytics
使用 @nativescript-asharghi/firebase-analytics
以下示例显示了如何使用 @nativescript-asharghi/firebase-analytics
记录自定义和预定义事件。
记录自定义事件
分析还允许开发人员记录自定义事件。如果您已经熟悉 Google Analytics,则此方法与在 gtag.js 中使用事件命令等效。
要将自定义事件记录到分析中,请在 分析 类的实例上调用 logEvent
方法,并将自定义事件名称作为第一个参数,事件数据对象作为第二个参数。
请注意,原始数据类型或原始数据类型的数组将记录在 Firebase 分析控制台中。
import { firebase } from '@nativescript-asharghi/firebase-core';
import '@nativescript-asharghi/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-asharghi/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 |
屏幕视图 |
广告点击 |
广告单元曝光 |
有关更多保留事件名称,请访问事件命名规则。
获取应用程序实例ID
要获取应用程序实例ID,请调用getAppInstanceId
方法。如果ConsentType.Analytics_Storage = ConsentStatus.Denied
,则在Android上返回null
。
import { firebase } from '@nativescript-asharghi/firebase-core';
const appInstanceId = firebase().analytics().getAppInstanceId();
在iOS上禁用广告商标识符的跟踪
苹果公司严格禁止访问广告商标识符(IDFA)iOS符号的应用程序出现在儿童类别中。
此外,如果应用程序访问IDFA iOS符号,则必须实现苹果的应用跟踪透明度(ATT)(或ATT
)。但是,如果应用程序不使用IDFA并且以兼容ATT的方式处理数据,则可以消除此ATT要求。
如果您需要避免使用IDFA同时仍使用分析,请在Podfile中定义以下变量
$NSFirebaseAnalyticsWithoutAdIdSupport = true
在pod安装期间,使用该变量安装了Firebase iOS SDK团队创建的新Analytics With No Ad Ids
pod,允许在儿童类别应用程序中使用Firebase分析,并且无需处理应用跟踪透明度(假设应用程序的其他部分没有以需要ATT的方式处理数据)
注意,配置无IDFA的Firebase分析不兼容AdMob。
示例应用程序
您可以在此处找到演示应用程序。
分析类
该插件通过Analytics类提供给您,您可以通过该类来管理Firebase分析。Analytics类具有以下属性和方法。
属性
属性 | 类型 |
---|---|
appInstanceId |
字符串 |
logEvent()
firebase().analytics()
.logEvent(name, parameters)
将指定的事件数据发送到Google Analytics。
参数 | 类型 | 描述 |
---|---|---|
name |
字符串 |
要记录的事件名称。 |
parameters |
事件参数 | 指定事件数据的对象。有关保留事件参数支持的属性列表,请访问FirebaseAnalytics.Param Constants Summary。 |
setUserId()
firebase().analytics().setUserId(userId)
允许您为使用您的应用程序的个人存储用户ID。有关设置用户ID的更多信息,请访问此处。
resetAnalyticsData()
firebase().analytics().resetAnalyticsData()
请参阅此处的描述。
setAnalyticsCollectionEnabled()
firebase().analytics().setAnalyticsCollectionEnabled(analyticsCollectionEnabled: boolean)
用于手动禁用或启用分析数据收集的方法。
analyticsCollectionEnabled
:一个布尔值
。如果设置为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 |
事件参数 | 参数对象。有关保留事件参数支持的属性列表,请访问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