在 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(使用前将#替换为@)