Сконфигурируйте Firebase Analaytics + Google Tag Manager (GTM) для каждого варианта сборки
До того, как Firebase Analytics стала доступной, мы использовали настройку проекта Android Gradle с несколькими вариантами сборки и предоставили разные идентификаторы контейнера GTM для каждого варианта сборки следующим образом:
TagManager.getInstance(context)
.loadContainerPreferNonDefault(BuildConfig.GTM_CONTAINER_ID, -1);
TagManager.getInstance(context).getDataLayer().pushEvent(eventName, eventData);
где Gradle будет вводить разные GTM_CONTAINER_ID
за вариант сборки.
Как нам достичь того же с Firebase Analytics + GTM? Согласно документации, нам нужно скачать:
а затем просто запустите события с этим:
FirebaseAnalytics.getInstance(context).logEvent(eventName, bundle);
Где мы указываем идентификатор контейнера GTM, который будет использоваться? Или это автоматически определяется по имени файла, который мы загружаем с панели управления GTM и помещаем под assets/containers
? Если да, то как мы можем использовать разные конфигурации GTM для каждого варианта сборки, как мы делаем с устаревшим контейнером Android GTM?
2 ответа
Вот как мы настроили наш проект с несколькими вкусами 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 подключится к информационной панели FA проекта, указанного вашим google-services.json
, Мульти ароматный мульти-тип сборки google-services.json
поддержка доступна с версии 2.1.0 плагина [1]
Как вы и предполагали, идентификатор контейнера получается из имени файла контейнера. Чтобы использовать вариант для каждой сборки, вы можете использовать задачу копирования копии для создания правильного контейнера.