В нашем проекте мы перешли на режим согласия v2 и поэтому установили для первоначального согласия analytics_storage
, ad_storage
, ad_user_data
и ad_personalization_signals
значение false. После этого изменения мы больше не могли отслеживать события first_open
и session_start
, даже после того, как позднее дали согласие.
Эта проблема уже поднималась в проекте Firebase-android-sdk (https://github.com/firebase/firebase-android-sdk/issues/5697 ) и на странице поддержки Google Analytics ( https:/ /support.google.com/analytics/thread/257853980/firebase-analytics-first-open-and-session-start-events-not-sent-when-consent-granted?hl=en).
Мы нашли ответ на эту проблему, по крайней мере для нашего проекта. Возможно, это поможет кому-то другому. При запуске приложения наш инструмент CMP вызвал собственный метод DisableFirebaseTracking(). Внутри этого метода ссылке на экземпляр FirebaseAnalytics было присвоено значение null, поэтому экземпляр был подвергнут сборке мусора.
firebaseAnalytics = FirebaseAnalytics.getInstance(context)
firebaseAnalytics = null
По этой причине все локально хранящиеся события отслеживания, например first_open
, были удалены и не появились после получения согласия.