在即时应用中添加 Firebase 的 Google Analytics

跟踪应用(即时或已安装)的成功对于每个开发者来说都很重要。 几个分析库与 Google Play 即时体验兼容,包括 Fabric AnswersLocalyticsMixpanel

如果您的当前分析解决方案未列出,或者您发现它不适用于 Google Play 即时体验,请考虑使用 Firebase 的 Google Analytics 作为您的遥测解决方案。 此页面介绍如何在即时应用项目中设置 Firebase 的 Google Analytics。

将 Firebase 的 Google Analytics 添加到即时应用项目

  1. 按照 Firebase 的 Google Analytics 入门指南 中的说明,将 Firebase SDK 添加到您的应用中。
  2. 使用最新版本的 google-services 插件。
  3. google-services.json 文件放置在每个模块中。
  4. 将以下行添加到每个模块的 build.gradle 文件中

    Groovy

    // android { ... }
    // dependencies { ... }
    plugins {
        id 'com.google.gms.google-services'
    }
    

    Kotlin

    // android { ... }
    // dependencies { ... }
    plugins {
        id("com.google.gms.google-services")
    }
    

将 Firebase 的 Google Analytics 添加到即时应用项目后,您可以像在可安装应用项目中一样使用 Firebase 的 Google Analytics API。

有关如何使用 Firebase 的 Google Analytics API 的更多信息,请参阅 Firebase 的 Google Analytics 入门文档

区分已安装应用和即时应用数据

由于已安装应用和即时应用共享包名称,因此您可能希望区分从每个应用收集的事件和数据。 为了在 Analytics 中区分即时应用和已安装应用,请设置 app_type 用户属性,对于即时应用,其值为“instant”,对于已安装应用,其值为“installed”。

以下代码片段显示了一个获取 Analytics 实例然后设置用户属性的活动。 请注意,该代码在 onCreate(android.os.Bundle) 方法中使用 PackageManagerCompat.isInstantApp() 来确定应用的上下文。

Kotlin

val STATUS_INSTALLED = "installed"
val STATUS_INSTANT = "instant"
val ANALYTICS_USER_PROP = "app_type"

private lateinit var firebaseAnalytics: FirebaseAnalytics

protected fun onCreate(savedInstanceState: Bundle?) {
    ...

    firebaseAnalytics = FirebaseAnalytics.getInstance(this)

    // Determine the current app context, either installed or instant, then
    // set the corresponding user property for Google Analytics.
    if (InstantApps.getPackageManagerCompat(this).isInstantApp()) {
        firebaseAnalytics.setUserProperty(ANALYTICS_USER_PROP, STATUS_INSTANT)
    } else {
        firebaseAnalytics.setUserProperty(ANALYTICS_USER_PROP, STATUS_INSTALLED)
    }
}

Java

final String STATUS_INSTALLED = "installed";
final String STATUS_INSTANT = "instant";
final String ANALYTICS_USER_PROP = "app_type";

private FirebaseAnalytics firebaseAnalytics;

@Override
protected void onCreate(Bundle savedInstanceState) {
    ...

    firebaseAnalytics = FirebaseAnalytics.getInstance(this);

    // Determine the current app context, either installed or instant, then
    // set the corresponding user property for Google Analytics.
    if (InstantApps.getPackageManagerCompat(this).isInstantApp()) {
        firebaseAnalytics.setUserProperty(ANALYTICS_USER_PROP, STATUS_INSTANT);
    } else {
        firebaseAnalytics.setUserProperty(ANALYTICS_USER_PROP, STATUS_INSTALLED);
    }

}

设置 app_type 用户属性后,您可以在 Analytics 控制台的“事件”选项卡中选择一个事件,然后按 app_type 值过滤该事件。 生成的结果数据会为您在即时应用或已安装应用中的指定事件提供一个计数。

有关如何在 Firebase 的 Google Analytics 中记录和查看事件的更多信息,请参阅 记录事件

解读分析事件

分析允许您跟踪对即时应用有价值的各种指标。下表描述了即时应用的相关指标,包括分析中相应的事件名称或属性。

名称 分析值 定义
访问量 session_start 会话开始。此事件会自动跟踪。
实体购买 Firebase.Event.ECOMMERCE_PURCHASE 实体购买。您必须在代码中显式跟踪此事件。
数字购买 in_app_purchase 应用内数字购买。此事件会自动跟踪。
应用内时长 user_engagement 应用在前台运行的时间量。此事件会自动跟踪。
即时应用上下文 app_type 在即时或已安装上下文中运行的应用触发的事件。您必须在代码中显式跟踪此事件。请参阅上面的区分已安装应用和即时应用数据
回访用户 session_start.countapp_type 访问两次或两次以上用户的受众。您必须显式跟踪app_type 事件;session_start 会为您跟踪。请参阅上面的区分已安装应用和即时应用数据

有关您可以在分析中收集的事件常量的更多信息,请参阅FirebaseAnalytics.Event