为您的免安装应用添加 Google Analytics for Firebase

跟踪应用(无论是免安装应用还是安装版应用)的成效对每个开发者来说都非常重要。多个分析库与 Google Play 免安装体验兼容,其中包括 Fabric AnswersLocalyticsMixpanel

如果您当前的分析解决方案未列出,或您发现它不支持 Google Play 免安装体验,请考虑将 Google Analytics for Firebase 用作遥测解决方案。本页面介绍如何在免安装应用项目中设置 Google Analytics for Firebase。

将 Google Analytics for Firebase 添加到免安装应用项目中

  1. 按照 Google Analytics for Firebase 入门指南中的说明将 Firebase SDK 添加到您的应用。
  2. 使用最新版本的 Google 服务插件。
  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")
    }
    

将 Google Analytics for Firebase 添加到免安装应用项目后,您就可以像在安装式应用项目中一样使用 Google Analytics for Firebase API。

如需详细了解如何使用 Google Analytics for Firebase API,请参阅 Google Analytics for Firebase 的使用入门文档

区分安装式和免安装应用数据

由于您的安装式应用和免安装应用共用同一个软件包名称,您可能需要区分从这两种应用中收集的事件和数据。如需在 Analytics 中区分免安装应用和安装式应用,请设置 app_type 用户属性,将免安装应用的值设为“instant”,安装式应用的值设为“ installed”。

以下代码段展示了一个 activity,它会获取 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 值过滤事件。生成的数据投影将显示免安装应用或安装式应用中指定事件的计数。

如需详细了解如何在 Google Analytics for Firebase 中记录和查看事件,请参阅记录事件

解读 Analytics 事件

借助 Analytics,您可以跟踪对免安装应用有价值的各种指标。下表介绍了免安装应用的相关指标,包括 Analytics 中的相应事件名称或属性。

名称 Analytics 值 定义
访问次数 session_start 会话已开始。系统会自动跟踪此事件。
实体店购买 Firebase.Event.ECOMMERCE_PURCHASE 实体店购买。您必须在代码中明确跟踪此事件。
数字商品购买 in_app_purchase 数字应用内购买。系统会自动跟踪此事件。
在应用内花费的时间 user_engagement 应用处于前台的时长。 系统会自动跟踪此事件。
免安装应用环境 app_type 从在免安装或安装式环境中运行的应用引发的事件。您必须在代码中明确跟踪此事件。请参阅上文中的区分安装式应用和免安装应用数据
回访者数量 session_start.count”和“app_type 至少访问两次的用户的数量。您必须明确跟踪 app_type 事件;系统会为您跟踪 session_start。请参阅上文中的区分安装式应用和免安装应用数据

如需详细了解可在 Analytics 中收集的事件的常量,请参阅 FirebaseAnalytics.Event