为您的免安装应用添加 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 文件中:

        // android { ... }
        // dependencies { ... }
        apply plugin: '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 控制台的 Events 标签页中选择一个事件,然后通过 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.countapp_type 至少访问两次的用户的数量。您必须明确跟踪 app_type 事件;系统会为您跟踪 session_start。请参阅上文中的区分安装式和免安装应用数据

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