在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实现同样的目标?根据{{3}},我们需要下载:
然后用这个开始触发事件:
FirebaseAnalytics.getInstance(context).logEvent(eventName, bundle);
我们在哪里指定要使用的GTM容器ID?或者它是从我们从GTM仪表板下载并放在assets/containers
下的文件名自动派生的?如果是这样,我们如何使用每个构建变体的不同GTM配置,就像我们使用GTM遗留Android容器一样?
答案 0 :(得分:4)
这就是我们如何设置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/
假设您有两种风格flavor1
和flavor2
,并且希望拥有3个GTM容器,1个共享用于两种风格的调试版本,每个版本用于每种风格的发布版本。
GTM将连接到google-services.json
指定的项目的FA仪表板。自插件版本2.1.0 [1]
google-services.json
支持
答案 1 :(得分:3)
正如您所推测的那样,容器ID是从容器文件名派生的。要使用每个构建变体,您可以使用gradle copy任务来分级正确的容器。