【问题标题】:Configure Firebase Analaytics + Google Tag Manager (GTM) per build variant为每个构建变体配置 Firebase Analytics + Google Tag Manager (GTM)
【发布时间】:2016-06-14 09:24:48
【问题描述】:

在 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,我们需要下载:

  • 来自 GTM 仪表板[1] 的 GTM 容器文件
  • 来自 Firebase 控制台的 google-services.json 文件 [2]

然后用这个开始触发事件:

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

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

【问题讨论】:

  • @DevZer0 这怎么是垃圾投票?
  • @AnirudhSharma 这是他和我之间的一个笑话,我们在同一家公司工作:) 我只是在等他闲着我 :)
  • @DevZer0 哈哈。好一个 :)

标签: android firebase google-tag-manager firebase-analytics


【解决方案1】:

这就是我们如何设置我们的 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 个风格 flavor1flavor2,并且想要拥有 3 个 GTM 容器,其中 1 个共享用于两种风格的调试构建,1 个用于每种风格的发布构建。

GTM 将连接到您的google-services.json 指定的项目的 FA 仪表板。多风格多构建类型google-services.json 支持从插件版本 2.1.0 开始提供[1]

【讨论】:

    【解决方案2】:

    如您所料,容器 ID 源自容器文件名。要使用 per-build 变体,您可以使用 gradle 复制任务来暂存正确的容器。

    【讨论】:

    猜你喜欢
    • 2018-10-21
    • 2019-08-27
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-30
    • 1970-01-01
    相关资源
    最近更新 更多