在 Firebase Analytics 可用之前,我们使用多风格、多构建类型的 Android Gradle 项目设置,并为每个构建变体提供不同的 GTM 容器 ID,如下所示:
TagManager.getInstance(context)
.loadContainerPreferNonDefault(BuildConfig.GTM_CONTAINER_ID, -1);
TagManager.getInstance(context).getDataLayer().pushEvent(eventName, eventData);
Gradle 将为每个构建变体注入(inject)不同的 GTM_CONTAINER_ID
。
我们如何通过 Firebase Analytics + GTM 实现同样的目标?根据docs ,我们需要下载:
然后用这个开始触发事件:
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
和 flavor2
,并且想要 3 个 GTM 容器,1 个共享用于两种风格的调试构建,1 个用于发布构建每种口味。
GTM 将连接到您的 google-services.json
指定项目的 FA 仪表板。自插件版本 2.1.0 [1] 起,支持多口味多构建类型 google-services.json
关于android - 为每个构建变体配置 Firebase Analytics + Google Tag Manager (GTM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37807970/