@nativescript-asharghi/firebase-analytics
NativeScript Firebase - 分析
npm i --save @nativescript-asharghi/firebase-analytics

@nativescript-asharghi/firebase-analytics

简介

此插件允许您将 Firebase 分析 添加到您的应用程序。

注意:请使用 @nativescript-asharghi/firebase-core 插件与该插件一起初始化应用程序中的 Firebase。

分析收集您的应用程序的使用和行为数据。其两个主要关注点是

  • 事件:这些是在您的应用程序中发生的事件,例如用户操作、系统事件或错误。Google Analytics 收集 3 种类型事件的详细信息:自动收集推荐自定义 事件。

  • 用户属性:您定义的属性,用于描述用户群体的一部分,例如语言偏好或地理位置。

image

安装

在项目的根目录中运行以下命令以安装插件。

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 数字 不活动的时间长度,以毫秒为单位。默认值为180000030分钟)。

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