针对每个构建变体配置 Firebase Analytics + Google 跟踪代码管理器 (GTM)

2024-04-05

在 Firebase Analytics 可用之前,我们使用多风格、多构建类型的 Android Gradle 项目设置,并为每个构建变体提供不同的 GTM 容器 ID,如下所示:

TagManager.getInstance(context)
        .loadContainerPreferNonDefault(BuildConfig.GTM_CONTAINER_ID, -1);
TagManager.getInstance(context).getDataLayer().pushEvent(eventName, eventData);

Gradle 会在其中注入不同的GTM_CONTAINER_ID每个构建变体。

我们如何使用 Firebase Analytics + GTM 实现同样的目标?根据docs https://developers.google.com/tag-manager/android/v5/,我们需要下载:

  • 来自 GTM 仪表板的 GTM 容器文件[1] https://developers.google.com/tag-manager/android/v5/#add-gtm-to-project
  • Firebase 控制台中的 google-services.json 文件[2] https://firebase.google.com/docs/analytics/android/start/

然后开始触发事件:

FirebaseAnalytics.getInstance(context).logEvent(eventName, bundle);

我们在哪里指定要使用的 GTM 容器 ID?或者它是根据我们从 GTM 仪表板下载并放在下面的文件名自动得出的assets/containers?如果是这样,我们如何为每个构建变体使用不同的 GTM 配置,就像使用 GTM 旧版 Android 容器一样?


这就是我们如何设置 Gradle 多风格项目,为每个构建变体使用不同的 GTM 容器:

/
|_app/
  |_src/
    |_flavor1/
    | |_google-services.json # Google services config for debug
    | |_release/
    |   |_google-services.json # Google services config for flavor1
    |_flavor1Release/
    | |_assets/
    |   |_containers/
    |     |_GTM-ABCXY1.json # GTM container for flavor1
    |
    |_flavor2/
    | |_google-services.json # Google services config for debug
    | |_release/
    |   |_google-services.json # Google services config for flavor2
    |_flavor2Release/
    | |_assets/
    |   |_containers/
    |     |_GTM-ABCXY2.json # GTM container for flavor2
    |
    |_debug/
    | |_assets/
    |   |_containers/
    |     |_GTM-ABCXY3.json # GTM container for debug
    |
    |_main/
      |_res/
      |_java/

假设你有2种口味flavor1 and flavor2,并且希望拥有 3 个 GTM 容器,其中 1 个共享用于两种风格的调试构建,各 1 个用于每种风格的发布构建。

GTM将连接到您指定的项目的FA仪表板google-services.json。多口味多构建型google-services.json自插件版本 2.1.0 起提供支持[1] https://github.com/googlesamples/google-services/issues/54#issuecomment-209646611

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

针对每个构建变体配置 Firebase Analytics + Google 跟踪代码管理器 (GTM) 的相关文章

随机推荐