8.7 发布—WinterCG 兼容性第一部分
了解更多

在 GitHub 上查看

@nativescript/firebase-analytics

简介

此插件允许您将 Firebase 的 Google Analytics 添加到您的应用中。

注意

将此插件与 @nativescript/firebase-core 插件一起使用以在您的应用中初始化 Firebase。

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

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

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

image

安装

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

cli
npm install @nativescript/firebase-analytics

使用 @nativescript/firebase-analytics

以下示例演示了如何使用 @nativescript/firebase-analytics 记录自定义和预定义事件。

记录自定义事件

分析还允许开发人员记录自定义事件。如果您已经熟悉 Google Analytics,则此方法等效于在 gtag.js 中使用 event 命令。

要将自定义事件记录到分析中,请在 Analytics 类的实例上调用 logEvent 方法,并将自定义事件的名称作为第一个参数传递,并将事件数据对象作为第二个参数传递。

请注意,原始数据类型或原始数据类型的数组将记录在您的 Firebase Analytics 控制台中。

ts
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 事件。

ts
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

ts
import { firebase } from '@nativescript/firebase-core'

const appInstanceId = firebase().analytics().getAppInstanceId()

在 iOS 上禁用用于广告的标识符与分析

如果应用访问用于广告的标识符 (IDFA) iOS 符号,则 Apple 严格禁止该应用属于儿童类别。

此外,如果应用访问 IDFA iOS 符号,则必须实施 Apple 的 应用跟踪透明度(或 ATT)。但是,如果应用不使用 IDFA 并且以与 ATT 兼容的方式处理数据,则可以消除此 ATT 要求。

如果需要在仍然使用分析的同时避免使用 IDFA,请在您的 Podfile 中定义以下变量

ruby
$NSFirebaseAnalyticsWithoutAdIdSupport = true

在 pod install 期间,使用该变量会安装一个新的 不带广告 ID 的分析 pod(由 firebase-ios-sdk 团队创建),并允许在儿童类别应用中使用 Firebase 分析,以及在无需处理应用跟踪透明度的情况下使用 Firebase 分析(假设您的应用的其他部分不以需要 ATT 的方式处理数据)。

注意,配置 Firebase 分析以在不使用 IDFA 的情况下使用与 AdMob 不兼容。

演示应用

您可以在 此处 找到演示应用。

Analytics 类

该插件通过 Analytics 类为您提供管理 Firebase Analytics 的功能。Analytics 类具有以下属性和方法。

属性

属性类型
appInstanceId字符串

logEvent()

ts
firebase().analytics().logEvent(name, parameters)

将指定的事件数据发送到 Google Analytics。

参数类型描述
name字符串要记录的事件的名称。
parametersEventParameter一个指定事件数据的对象。有关保留事件的 parameters 支持属性列表,请访问 FirebaseAnalytics.Param 常量摘要

setUserId()

ts
firebase().analytics().setUserId(userId)

允许您为使用您的应用的个人存储用户 ID。在此处详细了解设置用户 ID 此处


resetAnalyticsData()

ts
firebase().analytics().resetAnalyticsData()

请参阅 此处 的描述。


setAnalyticsCollectionEnabled()

ts
firebase().analytics().setAnalyticsCollectionEnabled(analyticsCollectionEnabled: boolean)

一种用于手动禁用或启用分析数据收集的方法。

  • analyticsCollectionEnabled:一个 布尔值。如果设置为 true,则收集分析数据。如果设置为 false,则禁用分析收集。

setUserProperty()

ts
firebase().analytics().setUserProperty(name: string, value: string)

设置用户属性。有关更多详细信息,请参阅 设置用户属性

参数类型描述
name字符串要设置的用户属性的名称。
value字符串用户属性的值。

setSessionTimeoutInterval()

ts
firebase().analytics().setSessionTimeoutInterval(sessionTimeoutInterval: number)

有关描述,请参阅 setSessionTimeoutDuration

参数类型描述
sessionTimeoutInterval数字非活动持续时间(以毫秒为单位)。默认为 180000030 分钟)。

setDefaultEventParameters()

ts
firebase().analytics().setDefaultEventParameters(parameters)

请参阅 此处 的描述。

参数类型描述
parametersEventParameter参数对象。有关保留事件的 parameters 支持属性列表,请访问 FirebaseAnalytics.Param 常量摘要

EventParameter

ts
interface EventParameter {
  [key: string]: any
}

setConsent()

ts
firebase().analytics().setConsent(consentSettings)

请参阅 此处 的描述。

参数类型描述
consentSettingsMap<ConsentType,ConsentStatus>

ConsentType

ts
enum ConsentType {
  Ad_Storage,
  Analytics_Storage,
  Ad_User_Data,
  Ad_Personalization,
}

ConsentStatus

ts
enum ConsentStatus {
  Denied,
  Granted,
}

handleOpenURL()

ts
firebase().analytics().handleOpenURL(url)

iOS 特定)处理应用由 URL 启动时的事件。

参数类型描述
url字符串用于打开应用的 URL。

handleUserActivity()

ts
firebase().analytics().handleUserActivity(userActivity)

(iOS 特定) 处理应用收到与用户活动相关联的数据的事件,该数据包含通用链接(在 iOS 9.0 及更高版本上)。

参数类型描述
userActivity任意用于打开应用的 URL。

许可证

Apache 许可证 2.0 版

上一页
Admob